{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Use Catalog of Book Acquisitions from 1933-1940 to check missing book estimate\n",
    "\n",
    "The Sylvia Beach archives include a catalog of book acquisitions from 1933-1940.\n",
    "\n",
    "This notebook uses a spreadsheet of book data from that catalog compiled by Robert Chiossi under the guidance of Joshua Kotin to check missing book estimates."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "id": "1bv-WV15ua83"
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# add project root to path so we can import utility methods\n",
    "import sys\n",
    "sys.path.append('..')\n",
    "\n",
    "from utils.missing_data_processing import get_preprocessed_data, short_id, DATA_DIR\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "id": "OLbHL3NtujXA"
   },
   "outputs": [],
   "source": [
    "# load books and events dataset\n",
    "data = get_preprocessed_data(\"books\", \"events\") \n",
    "books_df = data[\"books\"]\n",
    "events_df = data[\"events\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Summary information about book and borrowing information\n",
    "\n",
    "- How many books were borrowed at least once?\n",
    "- How many books are 'uncertain'?\n",
    "- How many borrow events?\n",
    "- How many borrow events, excluding uncertain titles?\n",
    "\n",
    "*Note:* books that could not be positively identified by the Project team were flagged as `uncertain`; we exclude these from our analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "34p7or7QumDy",
    "outputId": "20221e84-8f7a-4739-9a44-425689ef8ed1"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5,683 books borrowed at least once\n",
      "475 uncertain books\n",
      "21,059 borrow events\n",
      "20,316 borrow events for books that are not uncertain (i.e., identified titles)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "\n",
    "borrowed_books = books_df[books_df.borrow_count != 0]\n",
    "total_borrowed_books = borrowed_books.shape[0]\n",
    "total_borrowed_books\n",
    "\n",
    "uncertain_books_df = books_df[books_df.uncertain]\n",
    "total_uncertain_books = uncertain_books_df.shape[0]\n",
    "\n",
    "# get all the borrow eventss\n",
    "borrows = events_df[events_df.event_type == 'Borrow']\n",
    "\n",
    "# exclude borrow events for uncertain titles\n",
    "certain_borrows = borrows[~borrows.item_id.isin(uncertain_books_df.id)]\n",
    "certain_borrows.shape[0]\n",
    "\n",
    "print(f\"\"\"{total_borrowed_books:,} books borrowed at least once\n",
    "{total_uncertain_books:,} uncertain books\n",
    "{borrows.shape[0]:,} borrow events\n",
    "{certain_borrows.shape[0]:,} borrow events for books that are not uncertain (i.e., identified titles)\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load acquisitions catalog data\n",
    "\n",
    "We use a subset of fields from the working Project spreadsheet: author, title, publication date, item uri, and acquisition date."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "--ggYgmTvUBj",
    "outputId": "8c1af054-dacb-42e0-db64-d6963f4ea5b8"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>author</th>\n",
       "      <th>title</th>\n",
       "      <th>pub_date</th>\n",
       "      <th>item_uri</th>\n",
       "      <th>acq_date</th>\n",
       "      <th>item_id</th>\n",
       "      <th>acq_date_dt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Morley, Christopher</td>\n",
       "      <td>Being Human: A Story</td>\n",
       "      <td>1932</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/m...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>morley-human</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Hurst, Fannie</td>\n",
       "      <td>Imitation of Life: A Novel</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/h...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>hurst-imitation-life</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Aldington, Richard</td>\n",
       "      <td>All Men Are Enemies: A Romance</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/a...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>aldington-men-enemies</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Anthony, Katharine</td>\n",
       "      <td>Marie Antoinette</td>\n",
       "      <td>1933</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>None</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Jackson, J. Hampden</td>\n",
       "      <td>Europe sInce the War: A Sketch of Political De...</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/j...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>jackson-europe-since-war</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                author                                              title  \\\n",
       "0  Morley, Christopher                               Being Human: A Story   \n",
       "1        Hurst, Fannie                         Imitation of Life: A Novel   \n",
       "2   Aldington, Richard                     All Men Are Enemies: A Romance   \n",
       "3   Anthony, Katharine                                   Marie Antoinette   \n",
       "4  Jackson, J. Hampden  Europe sInce the War: A Sketch of Political De...   \n",
       "\n",
       "  pub_date                                           item_uri acq_date  \\\n",
       "0     1932  https://shakespeareandco.princeton.edu/books/m...  1933-03   \n",
       "1     1933  https://shakespeareandco.princeton.edu/books/h...  1933-03   \n",
       "2     1933  https://shakespeareandco.princeton.edu/books/a...  1933-03   \n",
       "3     1933                                                NaN  1933-03   \n",
       "4     1933  https://shakespeareandco.princeton.edu/books/j...  1933-03   \n",
       "\n",
       "                    item_id acq_date_dt  \n",
       "0              morley-human  1933-03-01  \n",
       "1      hurst-imitation-life  1933-03-01  \n",
       "2     aldington-men-enemies  1933-03-01  \n",
       "3                      None  1933-03-01  \n",
       "4  jackson-europe-since-war  1933-03-01  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "catalog_df = pd.read_csv(DATA_DIR / \"beach_lendinglibrary_catalog.csv\")\n",
    "# add short-form item id\n",
    "catalog_df['item_id'] = catalog_df.item_uri.apply(short_id)\n",
    "# parse acquisition date, which are mostly month precision\n",
    "catalog_df['acq_date_dt'] = pd.to_datetime(catalog_df.acq_date, errors='coerce')\n",
    "catalog_df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Trends in Beach's acquisitions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 424
    },
    "id": "DfrzZpRJxFSC",
    "outputId": "3b8f419e-c6c8-4f4d-aea1-ea2d15acc4df"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>acq_date_dt</th>\n",
       "      <th>total</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1933-03-31</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1933-04-30</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1933-05-31</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1933-06-30</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1933-07-31</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1933-08-31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1933-09-30</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1933-10-31</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1933-11-30</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1933-12-31</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  acq_date_dt  total\n",
       "0  1933-03-31     27\n",
       "1  1933-04-30     12\n",
       "2  1933-05-31     16\n",
       "3  1933-06-30     10\n",
       "4  1933-07-31     10\n",
       "5  1933-08-31      0\n",
       "6  1933-09-30     28\n",
       "7  1933-10-31     16\n",
       "8  1933-11-30     26\n",
       "9  1933-12-31     11"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# how many acquisitions per month?\n",
    "acq_weekly_count = catalog_df.groupby([pd.Grouper(key='acq_date_dt', freq='M')])['title'].count().reset_index()\n",
    "acq_weekly_count.rename(columns={'title': 'total'}, inplace=True)\n",
    "acq_weekly_count.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 299
    },
    "id": "2cE6SgtHxa_4",
    "outputId": "a5980fb7-e88a-4987-81af-b33d96282c3a"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='acq_date_dt'>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGxCAYAAADCo9TSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClo0lEQVR4nO29e5hcVZX3/z1173unO9250J0QCJAgJEAQCDiDIhIReUHx1QFnBIefjkPkRTOOyjuIyqgwOir4DqAiwjgCCiqKDsIACoqEAIFAuIVcCLl3J32/1vX8/qja++w6de6XOqeq1ud58kB3V1edOn3q7LXX+q7vkmRZlkEQBEEQBFElIkEfAEEQBEEQjQUFHwRBEARBVBUKPgiCIAiCqCoUfBAEQRAEUVUo+CAIgiAIoqpQ8EEQBEEQRFWh4IMgCIIgiKpCwQdBEARBEFUlFvQBqCkUCti3bx/a2togSVLQh0MQBEEQhAVkWcbExAQWLlyISMQ4txG64GPfvn3o7+8P+jAIgiAIgnDA7t270dfXZ/iY0AUfbW1tAIoH397eHvDREARBEARhhfHxcfT39/N13IjQBR+s1NLe3k7BB0EQBEHUGFYkEyQ4JQiCIAiiqlDwQRAEQRBEVaHggyAIgiCIqhI6zQdBEARB+Ek+n0c2mw36MGqSRCJh2kZrBQo+CIIgiIZAlmUcOHAAo6OjQR9KzRKJRLBkyRIkEglXz0PBB0EQBNEQsMCjt7cXzc3NZGRpE2YCun//fixatMjV+aPggyAIgqh78vk8Dzy6u7uDPpyapaenB/v27UMul0M8Hnf8PCQ4JQiCIOoepvFobm4O+EhqG1Zuyefzrp6Hgg+CIAiiYaBSizu8On8UfBAEQRAEUVUo+CAIgiAIAgBw2WWX4cILL/T9dSj4IAiCIIgQ8853vhOf+cxnfP+dakLBB0EQRIDIsoxtgxPIF+SgD4UgqgYFHwRBEAFy/wt7cfZ3/oTvP7E96EMhQshll12GJ554AjfddBMkSYIkSdi5cyeeeOIJnHLKKUgmk1iwYAG++MUvIpfLGf5OPp/H5ZdfjiVLlqCpqQnHHHMMbrrppkDeF/l8EARBBMhbQ9MAgJ2HpgI+ksZDlmXMZN21jDqlKR611Dly00034Y033sBxxx2H6667DkCxzfV973sfLrvsMvzkJz/B66+/jk984hNIpVL4yle+ovk7PT09KBQK6Ovrw3333Yfu7m489dRT+OQnP4kFCxbgwx/+sK/vVw0FHwRBEAGSKxQAAJl8IeAjaTxmsnkce+3Dgbz2q9etQXPCfAnu6OhAIpFAc3Mz5s+fDwD4l3/5F/T39+M//uM/IEkSli1bhn379uELX/gCrr32Ws3fAYBoNIqvfvWr/OslS5Zg/fr1uPfee6sefFDZhSAIIkByJa1HJkfBB2GN1157DatXry7LnJxxxhmYnJzEnj17DH/35ptvxqpVq9DT04PW1lb88Ic/xK5du/w+5Aoo80EQBBEguTwFH0HRFI/i1evWBPba1eZnP/sZPve5z+Hb3/42Vq9ejba2NnzrW9/Chg0bqn4sFHwQBEEECOtyobJL9ZEkyVLpI2gSiUSZnfny5cvxy1/+ErIs8+zHX/7yF7S1taGvr0/zd9hjTj/9dFxxxRX8e9u3ByN0prILQRBEgGRLQQdlPgg9Dj/8cGzYsAE7d+7EoUOHcMUVV2D37t248sor8frrr+M3v/kNvvzlL2PdunWIRCKav1MoFHDUUUfhueeew8MPP4w33ngDX/rSl/Dss88G8p4o+CAIgggQynwQZnzuc59DNBrFsccei56eHmSzWTz44IN45plnsHLlSnzqU5/C5ZdfjmuuuUb3d3bt2oV/+Id/wAc/+EF85CMfwamnnoqhoaGyLEg1kWRZDpWzzfj4ODo6OjA2Nob29vagD4cgCMJXPnffi/jFxj1428J2/Pf/+augD6dumZ2dxZtvvoklS5YglUoFfTg1i9F5tLN+U+aDIAgiQHJUdiEaEAo+CIIgAiRHZReiAaHggyAIIkCo1ZZoRCj4IAiCCBAyGSMaEQo+CIIgAoTbq1PwURVC1mNRc3h1/ij4IAiCCBDWapsmzYevxONxAMD09HTAR1LbZDIZAMU5MW4Iv7UbQRBEHcNMxrL5QpljJeEt0WgUnZ2dGBwcBAA0NzfTubZJoVDAwYMH0dzcjFjMXfhAwQdBEESAsMyHLBf1H/EoLYh+wSa8sgCEsE8kEsGiRYtcB24UfBAEQQRINq/U0DO5AuJRqob7hSRJWLBgAXp7e5HNZoM+nJokkUhwC3c3UPBBEAQRICzzARSDj5ZkgAfTIESjUdeaBcIdFGITBEEESFYQmpLRGNEoUPBBEAQRIOrMB0E0AhR8EARBBEhOCD7SFHwQDQIFHwRBEAHCTMYAynwQjQMFHwRBEAGSE7pdsqT5IBoECj4IgiACRCy7kOCUaBQo+CAIggiQXJ7KLkTjQcEHQRBEgOSo24VoQCj4IAiCCBBR80HdLkSjQMEHQRBEgORJ80E0IBR8EARBBEiWWm2JBoSCD4IgiIAoFGTISuKDgg+iYaDggyAIIiDErAcAZHL5gI6EIKoLBR8EQRABIeo9ACCbl3UeSRD1BQUfBEEQAaEONkhwSjQKFHwQBEEEhDrzQa22RKNAwQdBEERA5PJqzQcFH0RjQMEHQRBEQORUmQ8KPohGgYIPgiCIgMhVaD6o24VoDCj4IAiCCIhcRastZT6IxoCCD4IgiICgsgvRqFDwQRAEERCVZRcKPojGgIIPgiCIgKgsu5DJGNEYUPBBEETg7B6exuY9Y0EfRtWpKLtQ5oNoECj4IAgicC674xl84Ja/4NBkOuhDqSoVZRea7UI0CBR8EAQROAfGZpEryDg40WDBB3W7EA0KBR8EQQQOKzc02uJLglOiUXEVfNxwww2QJAmf+cxn+PdmZ2exdu1adHd3o7W1FRdddBEGBgbcHidBEHWKLMt8wFqjLb7q2S6NFnwRjYvj4OPZZ5/FD37wA6xYsaLs+5/97Gfx29/+Fvfddx+eeOIJ7Nu3Dx/84AddHyhBEPWJGHBkG2zxzdJsF6JBcRR8TE5O4qMf/Shuu+02zJkzh39/bGwMt99+O77zne/grLPOwqpVq3DHHXfgqaeewtNPP+3ZQRMEUT+IY+XTDZr5SMaKt2IKPohGwVHwsXbtWpx33nk4++yzy76/ceNGZLPZsu8vW7YMixYtwvr1690dKUEQdYmY7Wi0xTdbCj6aE1EAQCZPPh9EYxCz+ws/+9nP8Pzzz+PZZ5+t+NmBAweQSCTQ2dlZ9v158+bhwIEDms+XTqeRTisK9/HxcbuHRBBEDSOWXRot+MiXul2aEzGMTGep1ZZoGGxlPnbv3o2rrroKd911F1KplCcHcP3116Ojo4P/6+/v9+R5CYKoDTKNnPnIqzMfjfX+icbFVvCxceNGDA4O4qSTTkIsFkMsFsMTTzyB733ve4jFYpg3bx4ymQxGR0fLfm9gYADz58/XfM6rr74aY2Nj/N/u3bsdvxmCIGqPssxHgy2+eXXZpcGCL6JxsVV2efe7343NmzeXfe/jH/84li1bhi984Qvo7+9HPB7HY489hosuuggAsGXLFuzatQurV6/WfM5kMolkMunw8AmCqHWyDVx2yeWVsgsAFOTi92JRsmAi6htbwUdbWxuOO+64su+1tLSgu7ubf//yyy/HunXr0NXVhfb2dlx55ZVYvXo1TjvtNO+OmiCIuqGRyy45VeYDKGZ/KPgg6h3bglMzvvvd7yISieCiiy5COp3GmjVrcMstt3j9MgRB1AnZBi67MIfT5qRyK87kCmhOBHVEBFEdXAcfjz/+eNnXqVQKN998M26++Wa3T00QRAOQpswHkrEIIlKx7NJo54BoTCi3RxBEoIgmY42X+Si+31hEQqJkNJam4INoACj4IAgiUEjzAcSiEhIlnYfacp0g6hEKPgiCCJSG7nYpsMxHhGc+Gi37QzQmFHwQBBEojR18lDIfESXz0WjngGhMKPggCCJQygSnDbbrZ90u0aii+aDgg2gEKPggCCJQGjnzwRxO42LZpcHOAdGYUPBBEESgiItto3V6sMArKna7NFj2h2hMKPggCCJQxMxHo3V68MxHlDQfImPTWVzwH0/iR3/eEfShED5BwQdBEIFCrbZAlMouZTy/awQv7hnDLzbuCfpQCJ+g4IMgiEDJkMlYMfMRK853abTsjxbsOmDBGVF/UPBBEESgUOajpPmISgAa7xxowbqAKBCrXyj4IAgiUBq524UtsrEomYyJsGsil6fMR71CwQdBEIGSaWSfDzIZ04QFH412PTQSFHwQBBEoDZ354PbqNFhOhA0bzFHwUbdQ8EEQRKCIu9tGW3jz4mA56nbhsKAsS2WXuoWCD4IgAqVccJoP8EiqD8v6xCIRJKLFbhcqNSjXBAlO6xcKPgiCCJRyk7HG2unmRc0HZT44vOxCrbZ1CwUfBEEESiMLTrNa3S4UfHCtR74go0ABSF1CwQdBEIEiZjvyBZlnAxoBMfORLAUfVGpQZcMKdD7qEQo+CIIIFPVOv5F2/lzzEZUQJ5MxTlYIQButFNcoUPBBEESgqEstjbT45sscTmmqLSMrXAPUblufUPBBEESgqIONdL5xOl5yfKpthM92aaTgSw9RaNpoOqBGgYIPgiACRa1xaKTFl/lZRKnbpQwx4CCL9fqEgg+CIAKlkcsubGGNR6jbRaS87ELBRz1CwQdBEIGSVQtOGyjNntPQfDTS+9eDyi71DwUfBEEESka1s83mGmeny8SU8ajSakuZD1XZhVpt6xIKPgiCCBS1pXqmAQWnouaDfD7KO1waKRhtJCj4IAgiUJiPQ1O82O3RSMPluOaDHE7LEL09yGSsPqHggyCIQGEp9tZUrPi1x4vvGwMTeHDzfk+f0ytEn4848/mg4KPc4ZTOR11CwQdBEIEh2qm3Jv0JPq6463lccdfz2HJgwtPn9QK2q49FSXAqki3TfFDZpR6h4IMgiMAQF5nmhPcj5UenM9g2OAkAODiR9ux5vaBQkCGX1tUYtdqWIZZdKBirTyj4IAgiMMSFxY/Mx+a9Y/z/Z7LhErKKWoYYdbuUkSOTsbqHgg+CIAJDXGhbfAg+XtoT3uBDnN4bEx1Oaadf1n5Ns13qEwo+CIIIjKyGz4WXraYvi5mPTM6z5/UCsbQgmoyJOphGRQw4KBirTyj4IAgiMFiWIyG0mnrZ7VGW+ciEN/Mh2qsDVHrJUtml7qHggyCIwOCZj1jE826P4akM9o7O8K9nsuFa0NnuXpKAiFB2AWi3X+bz0eDnol6h4IMgiMDIlNwrEz6YbIliUyB8ZRfWQhqPFN93LCLxn1HmQ/D5aPASVL1CwQdBEIGR4ZoPH4KPPaNlX4dNcMrKCdFS0CFJJDplkMlY/UPBB0EQgcEWmaRYdvFosWF6j7aSc2rogg/BYIyR9Pgc1CqizoMGy9UnFHwQBBEYbJEty3x4tOtnnS5vP7wLADAdMsEpK7uI5RYyGisiXgNZEpzWJRR8EAQRGGyRSXic+Tg4kca+sVlIEnDy4XMAALNhy3yUFtVYVLkNU/BRpKzs0uAlqHqFgg+CIAJDyXxIni68LOtxxNwWzG1NAghfqy0vu2hlPvLhOtZqki/IEDWm1Gpbn1DwQRBEYGS1BKce7HRZp8uKvk40xYszY0JbdhE0HwmabFuR6aDMR31CwQdBEIHBTcZi3na7MLHp8Yd18OAjtGWXSGXZpZF1Duopto18LuqZWNAHQBBE48J2tYmotyZjm/eOAgCO7+vgrZqh7XYhwWkZ6tZaynzUJ5T5IAgiMPzIfAyOz2JgPI2IBBy7oB2pREjLLiqfD6BYfgIaPPhQtdZSq219QsEHQRCBwaaXxqMRz0bKM73H0t5WtCRjoS27sNkucaHbJUmC04oyC5Vd6hMKPgiCCIys0Gob96jswvQexx3WAQBoLmU+wtbtwt67mPnw2mitFqGyS2NAwQdBEIGhaTLmcuFlbbYrSsEH73bJ5iHL4dlFK5kP0nyIqMss1Gpbn1DwQRBEYPhhr/5SKfg4vq8YfDDNhyyHq4WVDUyLaghOw3Sc1YYNG+RfU+ajLqHggyCIwNAyGXOz8A6Mz+LgBBOblmc+gHDpPvIFJevD8LLjp1apzHw07rmoZyj4IAgiMMrs1bnHhfPFhuk9jp7XhqZSxiMejfDSRpg6XrIa3S5UdtEyGaOySz1CwQdBEIEhaj6SHjicbt4zCkARmzJSpexHmLw+8gUjk7FGDj7U3S6Ney7qGQo+CIIIjDJ79WgxQHCz61ds1cuDjzB2vLByApmMlUP26o0BBR8EQQQGW2STHpiMybLMg4/jVZmPMHp9GM12oeBDQW23TtQHFHwQBBEYWcFkjOkycgUZBQcLzv6xWRyazCAakbB8QXvZz1IhHC6nzHbRCD4aeLdPJmONAQUfBEEEhpbgVPy+HVjW4+h5bTzYYPCySygzH5Waj0ZutaWyS2NAwQdBEIGhZTIGOFt8N+8pNxcTYZ0voSq7kOZDE5YRSsUjpa8b91zUMxR8EAQRGKK9ekLIADhZfPeMTAMAjuxtqfhZUxjLLlqaDwo+eNarOVEcuk5ll/qEgg+CIAKDT7WNSpAkiQcgTlLtrKTCFi2RptL3QtXtUmCZDzIZE2F/exYwUtmlPqHggyCIwBAzH+J/nez8Z7Lli5ZIUymFH0rNh0bZpZEXXFZ2YTqdRj4X9Yyt4OPWW2/FihUr0N7ejvb2dqxevRq///3v+c9nZ2exdu1adHd3o7W1FRdddBEGBgY8P2iCIOqDtKD5AITgw8GCM1vKajB9hwgLSEKV+WAOp0LZJUllFx5ssOCDBsvVJ7aCj76+Ptxwww3YuHEjnnvuOZx11lm44IIL8MorrwAAPvvZz+K3v/0t7rvvPjzxxBPYt28fPvjBD/py4ARB1D4888GCDxc+FyyroZn5YGWXEGU++FRboewSJ58PrvHgmo9C456LeqayOGrA+eefX/b117/+ddx66614+umn0dfXh9tvvx133303zjrrLADAHXfcgeXLl+Ppp5/Gaaed5t1REwRRF7AMR1xVdnHS7cI6WdRttoCQ+QhR8ME0HzTVthx15oMEp/WJY81HPp/Hz372M0xNTWH16tXYuHEjstkszj77bP6YZcuWYdGiRVi/fr3u86TTaYyPj5f9IwiiMciWxqezjAczGnOT+WAtmiJNiZLmI4Rll7iWw2kD6xxYa22qFHzkHZrOEeHGdvCxefNmtLa2IplM4lOf+hTuv/9+HHvssThw4AASiQQ6OzvLHj9v3jwcOHBA9/muv/56dHR08H/9/f223wRBELVJpkJwGi37vh1Y5kNT8xHKbhc21bbSZKyRyy4ZVnYRMlhUeqk/bAcfxxxzDDZt2oQNGzbgH//xH3HppZfi1VdfdXwAV199NcbGxvi/3bt3O34ugiBqi6ye4NRJ5iNjoPkIY9mFD9Ujnw8RddkFINFpPWJL8wEAiUQCS5cuBQCsWrUKzz77LG666SZ85CMfQSaTwejoaFn2Y2BgAPPnz9d9vmQyiWQyaf/ICYKoedSZj6RDwaUsy8aC0zB2u/DMh0a3C5VdeLYKoHbbesS1z0ehUEA6ncaqVasQj8fx2GOP8Z9t2bIFu3btwurVq92+DEEQdYYsy4rgtLT7d+pzkckXwGQBKY2ySyhnu+Q1ZrtES2WnBs58sLKLGESS6LT+sJX5uPrqq3Huuedi0aJFmJiYwN13343HH38cDz/8MDo6OnD55Zdj3bp16OrqQnt7O6688kqsXr2aOl0IgqggX5Ahl9aUZGnRdVp2mM0qj9fKfKTCWHYhkzFNckI2LB6VkM3LDX0+6hVbwcfg4CA+9rGPYf/+/ejo6MCKFSvw8MMP4z3veQ8A4Lvf/S4ikQguuugipNNprFmzBrfccosvB04QRG0jlhbisVLmo5QFSNtcbJjYNBqRuH5EhIlQw1V20R8sl80XOzwiws8ahayQDYtFIsjm86T5qENsBR+333674c9TqRRuvvlm3Hzzza4OiiCI+oe12QKCyZjDzIeR2FT8fpgyH3mNwXKi+DSTLyAV0X4/9UyWma9Fi5mPmSx1u9QjNNuFIIhASOeLgYAkKaJLpw6fMwYGY4Cg+QhR5oPt8GMarbZA44pOWQdULKpksajsUn9Q8EEQRCAwEWEiGoEklQtOnQYfzExMjaj5CIthVV5L8yGUjBpVdKqUXSI8K0Rll/qDgg+CIAKBLa7igqu0mtrLUMyalV2EDpiwWJdnNbpdJElyNd+mHsgVFOfXODm+1i0UfBAEEQhZ1VwXwEW3S86a5gMIj+5DK/MBkNFYRjCeY8EHZT7qDwo+CIIIBK3MRyKqdHvYYSZTfK6kTvARjUh8UZ/O5Gwfqx9wzUdUJ/ho0N1+TiU4BUjzUY9Q8EEQRCAoE23dT3U1cjdlsJ/NhizzEVVnPhq87KJutRW/R9QPFHwY8OzOYby8dyzowyCIuiSrlflwKzg1CD6UjpdwLGTiDl+k0TMfZWWXGJVd6hUKPnSYTOfw0ds24G9v3wBZpgufILwmI3Q1MJyOlOeCUw1rdQYLTMJSdmEmYxWZjwbXfCjOrxHEI1R2qVco+NBhdDqDTL6A0eksJtPhuFkRRD3BFpSkpuDUXmnEzOdD/FlYBKdsNx+PlN+GnXqd1AtZbq8ucT1MNiTt0YR3UPChg/jBH53OBngkBFGfiOl1hlO9w6yNsktYNB9aU20BynzwoEzodsk26LmoZyj40EFM+47NUPBBEF7DppcmtDIfNtPsSuZD/5bGSjLTIXE5zel0uyQb3NsiIzi/8lZbslevOyj40CEtTMkcp+CDIDxHM/PheKqteeYjdGUX8vnQJCeUXVirbYYEp3UHBR86UOaDIPwlK4xOZzgtu8xYEJyGbb4LKy/EIjrdLg0afGSF8xLjJmONeS7qmdAGH/tHZwJ9ffGDT8EHQXiPpskYL7vYNBmzIDjlk21DEnxoTbUFlPORbtAFNyM43ybI4bRuCW3w8fSOoUBfPy2o7Ucp+CAIzxHNpBjOu12Kz1VLZRc2Jl6v7NKoIkuW5YhHJH5uGlX/Us+ENviYCrgXnzIfBOEvzMXUC8Ep13xYKbuEIPgoFGQw+6AYmYxx8gUZrKuWTMbqm9AGH5Ozwd4g0hR8EISvZI1MxhwKTg27XUJkr54VujfUrbaN7PMhmonFY2QyVs+ENviYygab+aDggyD8RVNw6tRePWNB8xGiVtu8YJoVV7faNrDgVAwyYhGJZ4Wy1Gpbd4Q3+JgNT9mFWm0JwnuMptr6MdulKUTdLuLUXl2TsQbc7YvnpdxkjMou9UZog4+gLc3T5HBKEL6S9dBkzIrmoylEgtOyzIe61baByy5MbBqRikEZywqRyVj9EdrgYyrg4MOJ4DToYyaIWiJtYDKWzcso2JjnwX0+aqTVli2ykgREdDIf6QYMPtTDBnnmowGzQPVOaIOPyXSwNwi7wccvNu7BcV95GA+8uM/PwyKIusFI8wFYz37IsozZnHmrbVOIul2Yu6k66wE0tskY62ph2R8+WI66XeqO0AYfQbfaij4f47NZ013Ys28OQ5aBF3aN+H1oBFEXGA2WA6zvdrN5mZcxklYyH2EIPvLaQ+UAoezSgLv9rGreTYIcTuuW8AYfISq7yDIwYXI8w9MZAMEfN0HUCkb26oD1nb8YTNSK4JRpGNTupkBjm4xlhYm2gGLARpmP+iO8wUfA3S7qeuuYieh0eKoYfAQtlCWIWkHpdlEW4EhEHCZmbfFlYlNRoKhFmEzG9IbKAY3e7VKeDYuR5qNuCW3wMRHw7kS96zLTfbDgYyLgoIkgagW1uJBht9tDFJtKkn7wkQqV4JTNddHQfDRwt4vacj9BwUfdEtrgI5srBPrhU+86rAYflPkgCGtkNOzVAXBLbbtlFyODMUApyaRzhbJW1yDI6cx1ARpbcJpVBWUx3mpLZZd6I7TBBxCsfiKtGmxlFHxk8wX+c9J8EIQ1tOzVAWGqq8XFV/H4ML6dNSdiFb8TFDmdibZAY0+1VV8TjWw1X++EOvgIMotgp+wyUhKbAsBkA5ZdsvkCPnDLX/Dpu58P+lCIGkLLZEz82qrmgWc+YsaZj6TwOkHrPnjZhVpty2AZIaYDilPmo24JdfARpH6C7bpYWnR0JqP72JEpJTAx64qpR94YmMALu0bxu5f2U22WsIyWvTpgf/G14m4KFMWsbPBc0LoPa2WX4LUp1SaTKy+7xKnVtm4JdfARpNcHCz7mtiYBGGc+hqbS/P+n0jnIcmNF6buHp/n/M+0LQZih1WoL2BcZzmSKjzPTfABK6SUsmQ9Nn48G7nZhQRnLeMS450lj3VMbgVAHH0GWMNiuq7e9GHwYDZcTF9yCHPyNrdq8NaQEHwcn0gaPJAgFLXt1wP5UVytD5RhhsVhnglf1eweE4KsBh6lVaj5KZZcGDMTqnVAHH0GWMNiNsbfNPPMxotrtN5ruY5eQ+Tg0ScEHYQ2e+XBZdrETfLCyy3TAwQd771qZj2QDZz5YwEWzXeqfUAcfwWY+ijennrYUALOyS3nw0Wi6j/Lgg8ouhDUyvOzibqR82qLmA1DKLkF3uyiZD2q1FcmqtDDkcFq/hDr4CLJtld34ekqZj1EDh1O1zoEyHwRhTpYLTsuDhrjNVltWQmFZDSPCMt8lW9DXfDRyeym7JpjXC2U+6pdQBx+Bll2y5cGHUeajIvhooMxHLl/A3pEZ/vUh0nwQFuEOp+rMh12HU4smYwCQKmVHgi675AvaehegPPPTaOJ11lKbUHe7UKttTfD1/37V8mNDHXwEWnbJW9d8NHLwsX9stuzGQJkPwgqyLCs+H1XUfDSHJfNhodsFaDzdB3u/rNzCylKNOGSvFhGz4GaEO/hIG1ua+wm78bHMx8RsTteSmQUf7APTSGUX9cVGmg/CCuKiGndpMjZrp9ullPmYDTzzYWAy5mCyb73ABafqskuhsc5DrTKdtv65CnnwEZ5uFwCYmNUOhljwcdicJgCNlflgbbZMoU+ZD8IKooBQnfmw3WqbsS44ZaWZoMsuOdUOX6SRgw/u88EzH8xkjMoutYAdb66QBx/B3CByeWXwVEsixkdxa4lOZVnm9uqLupoBNFbwwTIfK/s6AVDwQVhDTKPrzXaxKjKczVo3GQuL4NRotkskIvFyQ6OWXdg1IQ6WazT9Sy1SP8GHTqbBb8QPfDIeQUdTHIC27mN8Nsd3cY0YfDB305MWzwFQzAIFPTGUCD8ZwedCrXtwqvmw5nBaKrsEHXzw2S6VwQfQuEZj7LzwsotQlqJ22/AzQ2UXd4g3vUTUOPhgBmMtiSi6WxIAGkvz8dbwFADghP4OSFLR4ZUs1gkz9Oa6AErwYbnV1oHmYzrA0Q2AmPnQvgUrupfGckvmDqes7CJ0QlG7bfiZtFHOjJk/JDiCWsTZjTEiFW8ORsEHMxjrak2gNVU8nY2U+dhV0nwsmduKruYEhqYyODSZ5kLdeuLQZBo3PvoGLj5lEd62sMP08b97aR9+s2mf5s/e+7b5uGhVn9eHWDMo6XUtzUO07DFmKIPlzPdSKV52CXYhM9J8APYDsHqBZTd42UXIfJDuI9zk8gVbGqVwBx8BLeLsA58sjeg2Cj7YLr+rOYHWZPFxQU7jrSaj0xmMl95rf1cT5rYmefBRj/z2xX346dO7MJ3O4zsfOcH08V/73Ws4MD6r+bOndww1dPChDJWrzFaw3a5dwamdskvQs12MNB9A4xqNsesipprtAjSe/qXWmLKp0Qx98CHLMiRJ+wPqFyz4YLsPK2WXrhYl8xGkM2s1YWLTnrYkmhMxzG1LYMtA/YpOWVBp1fyOdUf985pjMKe5WJKbzuTwtf9+DROzORQKMiI6O996Rym76Hd7+DpYLht02YVlPkzKLg0afLCgQ5IkxCIScgWZnzMinEzaLGWGOvhgE2LZPIZqkbERfPCyS0sSrcnija1Ryi4s+GBC27mtxVLLUJ16fbBFzopYUZZl/vj/vaoPve0p/rtf++/XABSV4W2puE9HG26UzEfl4mu31dZOt0sqJFNteebDRHDaaLv9nKrswv4/V8hT2SXk2N10h1ZwypIdQeg+0qWhcuwm2NlcCj40Wm2Hp4q7/K6WOC+7NErwwTw+FquCj4N1mvlgC5aVhSuTL4A1/aQE/4lkLMK7O+ymKesJll00sxe3gh2TMV52CVjzkWcOpzplF7sBWL2gbrUFlNJUowVitYbddS+0wUdLgFkEO5mP4ani94qZj2KGplE0H6zNtr8UfHS3FksLhybqNPPBgg8LmY/ZjHKjFBdFSZLQkmisDJkW3FpdI/Nhp+QgZpismIw1cc1H0GWX0g6fyi5l5DSEyAkyGqsJ6ibz0ZoIrnNELThtNww+lMxHG+92Cc4WvprwzEd3eeajXjUfbJGzEnywx8QiUsXungWpjaIN0iJrlPmw0e2SzcvcV6a2TMYUnxMt7GZ/6gV1twugZD6o1Tbc1E/wwRbyALIIepmPUaNul5YkWkqLymy2wCP4ekat+eip8+CDWXKnLaTsjUoBLT4GHw+/cgB/fH3Q8+f1GraoGvl8WNn1i0GEHZ+PwDUffJE10XyEJPPxu5f24S/bDvn+OlmtskvEnuMtEQx2HclDG3wwkanVzgIvYTfGZLQ8+BjXCj6mlW4XVioC6r+en8kVsH9sBkCl4LReg49ZB5mPpEHw4XVWb2wmi7V3PY9/vGtj6INfI8GpneCD/U2igiW5EeHJfLCptmYmY8H/HQ9OpHHlPS9g7d3P+/5aSqutUHaJseCDyi5hpm4yH/wGHaTgNM4Ep0Utg2bZZVIJPpKxKP+gTNR56WXv6AwKMpCKR7ih2Ny24nkamsygUIcW67zsYmHXPGNgfMXLLh7rDnYPTyNXkDGbLQS+uJqhCE4rAwY7c01Y8JGKRSy15LPgI5uXA91Ja2kbRMLk83FgbBayXJxt5ffnmmuByjIfpfkuIQjECH3qRnDaVsoieH2DtoLa+pllPibTubIb1mw2j6nSQtRVslZv82lXGzbEkgu76Xe3FIOQXEHWDNRqnWlBcGo25IqNbNcuuzDBqbcBwv4xxdAs6LKCGV612toRm6ofF+R8FyXzYaL5CEHwMTSlZDJnc/6eM62yC/v/bB1uaOoJuyMLQht8tATYOaLWfLSnFJ8RsfTCptnGIhJ/TKMYje0aKs50WdTVwr+XiClW9PVYehEXKzPbayPjK780H/tGZypeP6xkrAhOrQQfNtxNgWJgwxIkQZ4jPlhOZ7ZLmFpt2X0OUDxV/EKr7MKyQ9kQnAtCH7tSg9AGH80BZhCUbhc21jnCU+Xijp6Zac1pSfDdf0uiMdpt1WJTxtxSu209en2I2QSzzILRpFV2jUx7HXyM1U7wYUnzYSHNbsfdFCi2OjeFwGislkzGRNNAv68r3oKskfkgh9NwUz9ll0SQmo/KG6OW1wfrdGHTbAE0zHA5dZstQxGd1p/Xh5hWNEs/sx2iVjlAEZx6eyPfN6qUXaZDXnaxMtXWjuDUatkFEI3Gggw+rA2WC0PmQ5xS7XepKquhBVJMxqjsEmbqR3CaKmk+QuDzAWgHHyNCpwujLUChbDXRzXyUxKeHJuov8yGmnC1nPjQGpzEbfq+v7f1C2WU27MGHFZMxK5mPjHVrdUYYLNbzJoPlvJpqm8sX8Mctg640WOVlF3/PWUbHXh0gwWnYqZvMRwubEBsCh1NAO/gQyy6MRsh8yLLMg49+VfBRr14fuXyhbDE02zVzwalR5sNjMXX9aD6UXb+psNegvKVHGMouXNug12objZY9zikPvnwAH7/jWfzbQ687fg6x7OJ38MEyQvEyzQf5fNQC9ZP5YBbUIRCcAtbLLn55OISJoakMpjN5SBLQN6ep7GdM81FvwYd6MTe7CRtqPnwQnObyBQwI2aawl12saD6KjzMOPhTNh/VbWRjKLnkzzYdHZZe3DhWF4TsOTjp+jvKyi8+CU42glJ0j8vkIN3UjOA0yg6AeLAcIwYcwXG64QcsuLOsxvz1VsbjWq+ZDvVDNZIxvwkZCSD/s1Qcn0nxBE18/rGi1VDLEz51Z6cXOUDlGKgRGY1mTbhevTMZGSvcrN5/HYaHs4ne2KKslOI1R5qMW8LXscv311+Ptb3872tra0NvbiwsvvBBbtmwpe8zs7CzWrl2L7u5utLa24qKLLsLAwICtgwKUjoAgNB9amQ8+2VbMfExWBh+tDZD52DWkrfcA6tfldFYVbJgtXDO87FL5EfNDcLpf6HQBgvWwsIIiONUyGYtUPE6PGYPylh7ssUFmh0wzH0xk6TLzMVoKHNx8HssyH1Xy+ShrteUmY5T5CDN2PblsBR9PPPEE1q5di6effhqPPPIIstkszjnnHExNTfHHfPazn8Vvf/tb3HfffXjiiSewb98+fPCDH7R1UICyiAdpry4q8bWGyylzXSo1H0Ecd7XQE5sC9Ss4tVt2Ydkz7cyH94LTvUKnCxD+skvGoOwSjUjcfMs0+HCg+WBllyADNLbI+m0yxsSio9NZR5mDXL6AUSHb62fZJV+QwSQ+CU2TMcp8hBm797OY+UMUHnroobKv77zzTvT29mLjxo3467/+a4yNjeH222/H3XffjbPOOgsAcMcdd2D58uV4+umncdppp1l+rdYg7dVLHzBxLoem5kOj7NIIE0v12mwBUfORgSzLliyvawG1e5/VzEe1NB9ip4v4+mHFSHAKFBefmULecvDhqOwShsyHSbeL27LLqEogP78j5fj3AX9LVWJwJJaj2P9nc5T5CCvpXN62JseV5mNsbAwA0NXVBQDYuHEjstkszj77bP6YZcuWYdGiRVi/fr2t52YmYzPZfNVbrNSD5QDtybaamY8G0Hzs1ul0AZSySyZfwHgdnQNPBacJ70tz+0Zrq+xiJDgVv5/JW/NTcdLtEmR2SDEZM+52cdtqK2YtnJRexJILAKR9vK7EQEvsdmElKDIZCy/TDkrIjoOPQqGAz3zmMzjjjDNw3HHHAQAOHDiARCKBzs7OssfOmzcPBw4c0HyedDqN8fHxsn8AAp0Qy1LmWt0uzF49X5A1fT4aodX2rWFmrV4ZfKTiUR6A1ZPuQ72Ym/t8lEzGDASn6VzBs8B6X2muC+u8Cn3ZxSzzYdHnwongNAxlF24yZpb58KjsAjhzHR5SCVX9zBaJmo54pDLzEQa3V0Ibtt7pbSa0cBx8rF27Fi+//DJ+9rOfOX0KAEURa0dHB//X398PAGUTYr32QzAjo7JXByoFp2MzWV6fnNNcmfmoV3v12WweA+PFm9ji7hbNx7DSi/rGVcuoF3M3Ph/NPgTWLPNxZE+rpeMLGpaiTeplPri3g0mrLStv2RGchqDbhc92MdF8uOnwyKsGPDrRYYnBC+Cv4FTUwUQilQ6nJDgNL0xs2mrjc+go+Pj0pz+N3/3ud/jjH/+Ivr4+/v358+cjk8lgdHS07PEDAwOYP3++5nNdffXVGBsb4/92797NfxZU26oVn4/h0qTH9lSsbPfWxgbLBTCNtxrsGSmWXFqTMcwpBWRq6rHjRb3jM9V8GOzIk7EoTyt7dZ2wibZH9rZYOr6gMct8WB2s5kjzEYJuF/Oyi/vMx8SsskECnLXbDqnKLn4KTpX26/KALEEmY6GH6deYXMIKtoIPWZbx6U9/Gvfffz/+8Ic/YMmSJWU/X7VqFeLxOB577DH+vS1btmDXrl1YvXq15nMmk0m0t7eX/WMoLYnVHc9uZK8+nSmK4Niuvru00DJahIDJzJ2xFnlLaLPVE5PWY/ChTtGnTW7CZs6bXopOZzJ5Xps/Ym4r/16Y0eooE7FadnASfDSHIvNhseziYsEdmS6/bzrSfKjLLr4KTkseH6qAjAVoZDIWXphtQIuN4MNWt8vatWtx99134ze/+Q3a2tq4jqOjowNNTU3o6OjA5ZdfjnXr1qGrqwvt7e248sorsXr1aludLoygShhamY+2lLLLH5vJ8nSkevfPjjlXkJHOFWwJ4WoBozZbxty2UsdLHbXbVpRdLM520fOfaEnEMDqd9UQbxDw+WhJRzCt1M4Q++GCZD52yS5zX+c0Ep/p+Knqwv0mQ82/MptpazfwYoS6ZOAk+2HMkohFk8gVfdTI886G6JuIxVnahzEdYYZuoFhtlF1vBx6233goAeOc731n2/TvuuAOXXXYZAOC73/0uIpEILrroIqTTaaxZswa33HKLnZfhMPFm9QWnlcFHNCKhPRXD+GwOYzNZno7salFlPhLKKZ2YzdVd8GHUZstgmY+DdaT5qHA4NdN88MyH9qKotGS7v7bZNNsFnU2h2NVbIetR5oOfZ40BfnqkwtDtkjcuu8Q9KLuMehB8sPvcgs4U3hqarkrwoQ7I4hEqu4SdSV528Sn4sFJGSKVSuPnmm3HzzTfbeWpN2gIvu5TfGDqa4zz4YOlIca4LAEQiElqTMUymc5hK59DTVh6c1DpGbbaMeiy7sMW8JRHFVCZv3eFUt+xSml3kQeZjXynzsbCzie/qw575UFpt9Rw+rXW78JZmGzuu5oTSxh8Uln0+XAUfxftmLCIhV5BxaML+ZoBp2xZ2NJWCDz81H5XW6sWvS7NdClR2CStK5sMnzUe1aQms7FLZaguUt9syg7E5quADqG+LdUtll3oMPkqLeVepk8doByjLsqkWwUvNB+t0WdiRCsXcEitYbbU1t1fXb2nWgz02UIfTgvYun8FbjT3QfBw+tyhCdubzUXyOhZ3FAZJ+nrOcjveLYjJGmY+wUnfBR1CeGbzsEtUOPsZmspoTbRlsV1uP7bbsffe262d0etrqb7ItDz5KbdVGmYVMvgC2SdPbkfOyiwfdLvtLZZeFnU2hmNhqhUxpl2tuMua9zwfThwRVdikINuK6g+WEsotT4ToruxzVWxQhD09nbOsmWObjsM6SlqgKJmMVZRduMkaZj7DCBKe+dbtUm7YArMplWVYcTuPawcfodEbT3ZTRWhKn1mPmY9JChMszHw7SvGGF3XRZpsvI70BMTZtlPrwsuyzoSCkeFiEvu7DsopvMR1mGyZbPR7BlF3FGidlsF8B5lwcTix7R0wJJAmS5fEKtGbIs8/uckvnwL/uQ0y27kOYj7LA12nefj2oRRPkiJ+xKktHyE9nRVFx4xmZyhsFHUFoVv8nlCzwr1GoQ4bLgYyabr5sZN3YyH2w3HotIuourlzOAWNnlMFHzkc2HutWbLah6gtOkhQUnm5e5dsKWvXrA3S55YQev9rRgJMuCD2eLLiu7dLck+XVrZ0Mwmc7xvxMLPvy0V9fz+YhR8BF6WAa3yYbgNNTBRxCaD1Hgppf5EMsumpkPH0amhwGxM8Oon7slGeM78HopvVRkPgx2gEZD5RgtfLKtu2tEluWybhe2sOYLcqh9EYym2orfN8p8iNknva4iLfhsl4ACNPHvopv5EIIyp6LTsVLw0dkcd6TDYve4pniUuzhXY7CcOmBPkMNp6OGaj3opuwSh+RA/6EaajyGD4KOlTofLMZv7RDRi6uE/t850H+ymy/7eRjdhK2Pemz0aLjc2k+WvJ5ZdgPCWXvIFJWPhptWWZS4ikv7zaBF0gFaW+dBptY1EJK59cGo0pngRJRx9HsV7HAvu/G211e4AilGrbehhmyg7Ph+hDj6CsFdnQ+ViqvkCgBJ87B+b4TdFzbJLqj7LLlM2erm510ed6D542aXFvOyi6BD0P14sOzbtUnC6t1Ry6W5JIBWPIh6N8EUrrKJTcRExMxkz6vYQO4r03Ha1KAvQAjhHTPQpSai4x4i49foYdZn5GCkLPvwXMutlPuJ8zg1lPsIK9/mgbhfnaA2VY7Dg481DU/wxzRqRXmuVgqbvP7Ed7/nOE3zeit9YEZsy6q3dlpddhPSzXsp+1sTjAxAFp+5u5mKnC6PJYsfL0zuGcNa/P44/bz3o6hjsIu7k3WQ+nIhNgaKmgJU7gsgOsa4NvawHw+pkXz3KMh/882h9MzCkEXzMZp1335iR09EBxUt/K8p8hBdFcFovwUcAglMta3UGm2y7XxhfrrXjUoIm/25sv9m0Fzf8/nVsHZzEk1sP+fY6IvwCs1DXY5Nt6yb4UGU+AP1FgWkRjIKPVq75cHdtKwZjKf49rmkwyar8zysD2HFoCve/sNfVMdhFDCj0BJdWBqtZ0dZoIUlSoE6wbJHV03sw3BiNpXN53kpclvmwMfJAtBMQNTVOgyEzMjrzbljmg1ptw4udrDiDgg8VWtbqDJb5YGgZjAHicftTdnl57xi+8MuX+NfVOj+8rmej7FJvwYc4y0ev/s2Mr4wFp950u3CxaUdl5sOsPs9ee9vgpKtjsItora5XLrGV+XAwwiAVoBNsrqC9yKrhAZiDHT8Tm0YkoD0VVzYDU9YzH6zsMkfIfAD+6T5yOmUXrn0hk7HQotir10vmI6WUL6qlSteaaMtQBx9aeg/A36BpaDKNf/ivjWXdFtWafWNH0VxvXh9soWtLxfluXW/XbEVw6pXPh9hmy1C8Poxv1kxAvH1wsqpdH9kc83PQX3yTFkzG2GRhJ/OT+DnKVl8UbjZUjuFmuBxrs+1oiiMSkTC3zX7mQyy7iFoiv7w+9O3VWeaDgo8wIssypkpBfN2VXdiE2GpgVHZptxt8eKz5yOYLWHv389g7OoPDu5vxN2/vL75OlYStrJfbWtmlfjIf2XyBLxhN8agivtPZNVvZkXvl88Em2i4Qyy4Ja2UX9tpTmTwvJVYDNqlWT2wKKJ8/ozq/m8yH1QDND/hQOZMOHSvnQA9R7wEAPS4Ep8zFucnnUlVGx+dDMRmjsksYSecKvIOrbsouorCxWqUF1u2iJThtS8YgblZ0gw+fhLJf/+/X8PSOYbQkorjtYyfz3W61zs2krcxH/Wg+RBvupkTU9CbMBacGQkil7OLuRr5PS3BqcZGYFl67mqWXTM64zVb8mSXNh03BKWBdlOsHOZO5Lgw3mg+x0wVQNgNDUxkULGonhqbK51clfZ6Jo+dwyspTJDgNJ+L6UzfdLpGIxPuGq9Vua5T5iESksuyH1lwXwJ+yy73P7cadT+0EAHz3IyfgqHltPMiplgmbLcFpm311fVhhN9toREI8KplqKqyUXVh6MpMvOK5l5wsyDoyXgg9B89FsUfMhXp9bqxl86NT2Rax0eiiZD/u3MauiXD/ImUy0ZVid7KsFm+vSWcp8dJc2A/mCjNEZa5lS9fwqv70+9E3GSmUXynyEErYuNMWjpiJqkVAHH0D12231hsoxRN2HqeDUo6Bg0+5RXHP/ywCAz5x9FM5523wA3s4HsYITwelkOhfo9FAvmBFaZyVJQiqmtB1qYWXYmXgOnZZeBidmkS/IiEUk9LQpg/5SfGE1EZwKC281Mx9skdHKLjKseFw4GSrHsCrK9QNedrHYautEcDqiynzEoxH+/1azkSMqI0W/yy5s5k2lvXo4Mx//+dRO/NO9L5aZxoWJ1w+M4//7z2fxyr4xX19HWResZz2AWgg+qrzAcp8PnRtah5XMR4pNLM27vjAHx2fxD//1HDL5At5z7Dz8n7OO4j+r9uA9O2WX9lSMB3C1XnqZVpVRzDolrJiMxaIRvvg6vbZZyWVee6psx2F1kRCvm+1VLbtYz3wYLbwzFspbejSFodvFZJeo6FLsXx+jKs0HAFvttulcHhOl66OLZz6Kx5P2S3Ca09bCKIJTOVTzir79P1vwy+f34LX940Efiia/en4vHn1tEL/YuMfX11G0gPY+h+EPPtiE2GqVXfLWMx9dLdpj5cWyhJuR6elcHp/66UYMjKdxVG8rvvuRE8ocEcNcdpEkSdB91HbpRS1sZGl+Xc0HK7todEyJcNGpw2tEq9MFEMouJgtredllwtExOMFsrov4MyuzXbQ608xQArTgBKdmKeqOZjZF276gXBGcKvcr9nk8aGEzMDKV5cfYXroH+5750HM4FTJEYRGdzmTyGC/dd8dnw+lkzdqtx2f8XR/sbEpFwh98lKKpqpVdsvqCU0AdfMQ1H5OMRXjq0GlWQpZlfOWBV/D8rlG0p2L44cdOrlj0q50Vsmuh66S9L4yo0/tmN2GrO/Jml8PltDpdACUzY1R2yeULZWWjkekshqqUoVIyHwattpYEp8WfOcp8uMgquIVlQ40yPwDQWZqiPeIg+GABS4eQ+ei24XLK9B5zmhN8w5P0WfPBMkLxiHbZRXxM0AxOKN1h1Rx8aoeJUhfkhM/BkZOhckBNBB+l3X21yi4m9WgrmQ9JklzrPu7asAv3PLMbkgR87+ITsWRuS8Vjqh18KJkPazf7emm3VZddvBCcAko3l9MAVavTBbC2Q50SApPeUpBYLd1H1k7mw6dW2+YAu13Y+zfLfMzhmQ/7mUMWfIiZDzvttsrUbuX3RYt1P2BdUOoWbDFIY6WZoBkYV85haIOP0nH5fXx2MuIiNRB8VLnsYtDtAijBR0SqNB0TaXERND3z5jC+8sArAIDPr1mGdx7Tq/k4ri1JV8eEjS3CViPcemm3VS9y5j4fhbLH6+HW64OVXRZ2lGc+rCys7DVjEQnHLmwHAGw7WJ3gw5bmwyfBaTUGpemhZD6Mg4/OFpb5sB98qH0+AOHzaCETOTRVfIxoJ+B32YVnPio0H8p5yoYk8zEwrmQ+JkNadmFBh9+b08l6FZy2paorqlQcTo2Dj87mhOHOxWnmY9/oDK64ayNyBRnvX7EAnzrzCNPXyOarY8Jmt7bnZJhVGFH7dpjtAPmiaFIOcNutpMx10cl8GJRdxFTpUb2tAICtA9XNfBh1u1gyGfPA58OsI8gPsgVrmo85rjQf5d0ugL1MpGIwJnZRVavVtvy8SJLExblhabcVg4/wZj6qW3apP8GpwQ1almXc8vg2/H7zfs9ez2rmQ89gjOEkaMrkCviH/9qIQ5MZLF/Qjm9+aIXhqPBqm7DZTa+xm50VgVuYYV4QvOxiZjJmcUfuPvNROdcFsLarnxT+lktLwcf2amU+dMykRKx4XHhRdgmi1Tavs8NXwzQfdoMPWZYxNmPQ7WJH86FRdkn7FnzoXxdha7cdFLJH1ZIE2KXaZRcr085F7D06AHj5QuMEvrx3HN98aAvaUzG897j5hgu1VYwGywFA35xmAMCirmbD53GiVXlu5zA27x0rCkz/bpWpsDMSKWpLJtM5TM7m+M3FL+z2czNjo2oJGf1CXUZpiptoPkq76aSJ+RXz+physPuezeb5AlHZ7RIrOw4tlBJaFEt72wBUT/Phddkl5cBkzKx05idZi90uLGtht+wylcnz1yjLfLRZz3woc12Ue0q1ul20WpDj0Qhms4XwBB9lmY9wl138Dj6cdruEPvhQTMYq/8Av7hkFAIzP5jAynTXNRljBaLAcAJx+ZDdu/ehJWNnfafg8LQ7KLvtK8zVW9nei3yS4UV4nWgw+fI6+M7kCF/9ZHR7EskRhTUtapaLV1qrPh5ng1EXZhek9mhNRtDeV/z2Yv4iVzEeLkPnYPzaLidks2lL6WiYvsCQ4FSa6yrKsubFwZTJm0YjND/IFayZjzMRwdDqrew60YCWTRCxSdm7m8s1AxvT5WMAjehklfRacGl0XYZvvEnbBaS5f4J//TL6AdC7vqCXdCnUrOFWMtCpvEpv3KM5tbw1NefJ6ZmWXSETCuccvqKizq2lz4MzK6ojz2lMmj1SoVseLWBqw4nAKKIP4wtoHbxXWjtms0nyYll1MtAhuyi5sENzCzqaKRcTKrl68YXQ0xblD6vaD3nyOjLCT+ZBlxY5cTa2WXXIGO3wRpvnI5Au2giSx00W8NlhmNJMvmHo/DE2Wz3UBqpH50A/K4iEruwyEvNVWvR74eYxMcGpnqBxQA8GHUfli814l+Ng1PO3J67HBckZDr6zgZGE5WKojzmu3Xj6plgkbu5iTsYjpNE4GMyfy2+TGb9Sts5Z9PnzMfOwtZT4WdFQGqpZabVV1WiY6rUbpxY7gFNAvvfC/ixufj0AGy1mb7dIUj/L7kNV5LIB2pwtQvH7ZZs5Mh6We61L8/WAEp4ASkIQl+Bgsy3yEb3OlDjb8DD6mbUw7Fwl98KGUL8r/wLPZPN4YUFwZdw15E3wo9upug49SycHnzEdbtTIfDi6wdu7AmrU8STOMqM2sjG7CsixjNmet1bbFTeajJDZV6z0Aa5oPdXvc0ioGH1ZMxsTgXzf4yFg7z1pYMWLzC2W2i3HwIUmSovuYsq77YIGKlhWAVd2HVgDjt88Hn2qrWXYpdbuE4D6iLnOHMfOhzjb7GSA5FZyGPvjQK1+8tn+87EL0KvNhZq9uFVaasJORYMFHb5v1zAd7Hb8V105c7FjZpSC7s5kPmplsednFSHCazcu8pm+2I2914XC6j2c+KoMPO5kPdgxK8OG/zboVe/VYNAK2NusZjbnRfARadilozzDRgi3+djpetOa6MKx47xQKMm/VZaJxwFxo7Rae+dAsu5QyH1WwFDBDFJsC1TN5tIN63fEzM17H9uramo+XSyUXphj3rOySNR4sZxVnmo/iDaHXluajuMA7bdeczeZx94Zd3KpbD17Xs5HiTsYiPIgbD+HuwCrcT4KZjBmYeInfM5vtwjIUTgIzxeOj8lpJCYJTPfM59Q1jaU8QmQ+LU111FpxZVTnMDla8UPzCquYDcNbxwuayzNEY/2BluNzYTJYH0OWZD3/LLhmjsgsLPnzMfMxkivfCAVVwoYa12bLjDGPmQ31Mft5/2dpcd2WXVmERF1P3L5XEpqcf2Q0gfJkPu86ssizzeQG2yi7s/Di8uO5/YS/+7/2b8e3/ecPwcdMOFM2SJPFOjHEbNeuwUTlYTn/hYjfmaEQydbD0SnCqhgU1sqzvk6HOZC2dVww+dg1P+54NsNLtApR3vGg9B8sguOp2MQjQ/MKq5gMQMh8ONB+dmpkPc6+P4dLvtyVjZX8jv11heTlK496bYGUXHzUf923cjf97/2b8+8NbDB/HgpPDu4sjLybTOdfTy71mIh1A2aVeBadA+Q6RiU3PO34BAODA+KwnN800n5TpMviwmfkYmc5ytXePDb8Ot90ur+wrnkfzzIez1JoiOq3h4CNTnvVpMqh9i2JTs9bIFoNOLjOM9EEp4drV29mzz1JL6T31tCbRnoqhIANvHvK344V3lJlmPqJljxcpyzAl7H9W2edTlp35rLiB2YibtdoCSuZj1IbmY6z0WevU0nyU7i3MPl0LPteltVKwCvhfdtG6Lnjmw8fg45W94wCArSbZPyY2PbKULQTCV3qpluBUlmVHekCgBoKPZCzC05PsDzyTyfML5MxjetCSiEKWgT0jxguoFTIm9upWsRsUsKxHd0vCdEcoYmTCZgWWZh8zCQ6c9nK31YHXh67Ph0HZxUopwOnE5ulMjp9Prc6oWFQpd+ntUtWCU0mSqiY6ZUG2eeaj+LnXCj6Y5X1EcpalbIpHecm2WnOjGDzzYansYn+yrV63CwDMbSt+7+CEfjDD2mzVvkl+C065w2lMy2RMKnuMH7DZRmZZdBb493c18Wsv7MGHX8c3k82DJX3qTvMhSVLZADUAeHX/OPIFGXNbk5jfnsKiUvprtwelFzOfD6vYDT6Y3qPHhtgUQMW5sYvl4ENwxLQD63ipZa8PdUsn03Jo7QAVjw/z60fsdrGT+mc7r+ZEVDcYNJtdolVGO6pKTqdKbd+i5kNjtysGhE6cjSVJ4iXLardK5pnDqaWyi/3JtlpzXRhW5ruw4KVLFbxUS3Cq7fPhb+ZDlmVsLXVPDk9lDK+JAW6JkArsGjKjMvPhz/Gx9U2S7OkBgRoIPgDB66N0QpnYdEVfByRJwqKuYt3bC92Hmb26VVptajGctNkC7lptR6czvPY7ZrKzclx2aaq/souRoNOO8RU7l7mCvcGAg8LNT2/hNVsotP6e1cp8eCE4tZNh0qONB8bBZD60ujrUzOGZDxutttOVBmEMK8EHL7tUZD78FZzmjMouPg+WOziZLrsOdg/rZ9FZt0tvWfARtsxH8X7rtyiWj9xIxGxvAmoq+GA3TCY2Pe6wDgDKnJW3PPD6yJjYq1uFHTOztjVjkAcfNjMfDmbIMMRFZsJENOW07MI1HyH7cNpBbRrG/qsl6LTTgSH2xdvJXLFA1ShLZlQaAgTNRwDBh2XBqUHwwVL/boIP7sVT5V0r03yYzXYBgA6W+bARvIsOp2rEVlu9bBsvu7RqZz6MuqjcwB1ONTJCcQPxsReor/ldw/q6Jx78tyX5KIKwZj7ml0wI/Qs+ym0I7FBbwUfpBG7eOwoAWMGCj1LZxYvMh9dlF8CaoJCVXexmPpQMi/2LX/zAybLxB8i54LS2u11kWa7IZogLnnoXyIyvrCyK0YjEn9OO6NRKlsxsdolWexwLPt48NOVrV4EiODVefI0m2/KA0MFNj+GkHd4LuJmWnW4Xi5qPfEHmJc6OJv3Mx2y2oCu01Su7MPuBguy99kKWZcNyHPueX9fl9orgQ3stkWW57POnzsqHBXZNLyz5APnlAzXpcFMK1ErwkVJ299OZHF80j+8rz3wYRatWSXskOBUXFiulFyY4tePxAej7oFhBreo20n04MRkDan++SzpX4IIqttDFoxG+cKgzC3bnjTixWBd3XnqYDb9TgknlOA/rbEJTPIpMvoDdHoi39bCd+dBYcNwYjDHaA0qZs7JL1FLZxZ7Px9hMFiwpoaX5aEnG+DnT8/oYMim7AMCshWyuHcSsq1ZQ5rfDKbsXsmyUXhZ9Mp3jAX1vezL0ZRfWiu9XZmZaI4NqldoIPgRh3qv7xlGQiy6gbOe3mAcf067SgWL07TbzAYhBk/kfnhuM2RWcutB8qFONxsEH2yk7FJzW6HwXMbMhZjP0hrfZDT64y6kNozE7mQ9tF9YCzz6IO5ZIRMIRPcUs4lZhdIHXpC1rPorvQcvV0s1QOUZQKfOcgZmWGtbtIhp/GTEieHTonV/W8aKn+xguteF2q8ouCcF1dtbj9mQxk6J13LEqlV1WLZ4DQD/zwe7TbckYmhMx4RoK1/2NHc8Cn8suStdcnZZdRCOtzYLYlLGwswkRqZhKPGjg3GeGmN71IvgwmsirZtCh4FTPhM0K7APHdEJGwQffKdv076/1zAdb5OJRqeymqNd2mLY40ZbhKPPBnXCdaT7KJxSX/z35gLmD/uk+jPwcRIxMxrjrrIuyS1ApcyXzYUHzUfr8yLK10iUTm3ZquJsyzESn3CFVVXaRJMm3dttsQXk+47KLP5kPdi9897JeAPrBhyI2LZ7DsHe7+J35cKoFBGok+GAL3mQ6h80qsSlQDBTYSXaj+xBvcm7LLoAYGBj/4QsFWehgcJb5AOztnqfSOT4ZlS04RsGH0/SaIjgN14fTKtMZbQGp3vwUtRW7Gezanraj+WAlujZnmg8W6CRikYobfTVEp7y2b/IZS1rpdnHxOQ0qZW51sBxQ/Buxz7gV0SnThnRq6D0YLPg4qONyygzIulsq70V+uZyK2S2jsosfrbZjM1l+/31XKfjYOzKjqS8RO82A4HRDZrBggw2e9MvLxmk5HqiR4EPUfLykkfkARN2Hi+BDzHy4tFcHrO+shqczyBVkSJJyY7CKlgmbFXYcLOpjulsS3CbYSNQ2pTKlsgqzVw9bWtIq6jZbhl5Zw77mgwlO7Wc+jAJVo7KL0SyGagQf2VzJZMzkMxY3MhmzmWHSIqiUuZ3BcoC9+S5GHh8Mo/ku05kcz2qou10A/7w+ROM1rZZNxefD+8wHu9bnt6dwZE8rEtEIcgWZjzAQUZc8w6j5kGWZrwULSrOfpjJ5XyzgnTYiALUSfJTe2OB4GttL6WAx8wF4026bFmyfnRgXqbGaUmcXdHdL0rQOrkbLhM0K2w4Wa/pLe1t5atdK2cW+5qO2fT70hI0pHUGn4j9h7e9ot+wijvM2EicbCU7Z72u1x7HgY/vgpG8zT8IiOA0qZW6n1RYQO17Mgw+jibaMHoPJtszjIxGNcOt9kaRPXh8swNSbdxPzMfPBOl2OmteKaERCn4Fv1ICq5BnGVtupjOI6uqBdmf3kR/aj7ssu7Cbx7M5hyHIxQlWnnBd1F4MPNy6nXlmrM7gBmMkfnaXy7IpNGU5q11sHih84MfjQCxBkWfag28Wei2dY0DOzaopr25fbXRTtDpdjNefWZMzwA2/kcDptMIthcXcLYhEJU5m85s7PC6zPdjFotfXQZKzau1a2A7UiOAWEzMeU+QKnWKsbZD7a9DUfosGY1gZMr9zolqyJ6y0zZPOj1XbrYHEjxma1GGXR1SXPoIzqjGCBUDRSHOzJ1jM/St+TgsmYXWoi+GALHtuZH68quQBC5sOD4MMLsSlg3frcqcEYfx0HokWWarSS+UjnlAmiTjUf+YKs6zkRZqZNyi56mg/bglOLeh31zksPo0XCKJCMRyM4fG6p48Wn0otVzUciajBYruSnUos+H2yhtdJqCygdL7Y0HwaZD6PJtnpttgy/BKfs/qIXkPKyiw+lA/FeCCjdk1pZdPW9Wu1BFQZYMN2WipXGCJQmrPtwnTudaAvUSPCh3qGtOKwy+Fjc5d5ozKuJtgyr7qNODcbUr2PnA8C6GZb2tiouijqaj7LuCJsRbiqueGLUouhUT1ugN+HT7o68xW7mg++8jIMPFixppcfVQ+XULO3xT/dRbiZlYjJmQXBai622PPNhuexifb7LqB3Nh0bmY8Q0+GDZqIDKLjbGEFiF3QuZ8L6/Sz+LXik4LV1DFuwUqoUYfIj/9SPD1zBlF8ZxBpmPgxNpXWMlM7zOfLRYDAoGxp0ZjDFabe7gMrkCj+qP6m0zzXwwgaI4CdQqYuRdi14famt1hp7wju0Ibft8WOx2GbQYqKZ4t0vlOZ8y0e8cNc+/4CNfkLkJVjJqfI4UzYf+AD+r2hotgiq7MNGk1c9Sp435LkYTbRncYl1DcKo314XRpONv4xY+70Yn88EyIl6bjM1k8nwaOs986Dhml7mblsouQRnVGcGCaTY+wE9tE9eP1WvwwU4i43iNzEdHc5wvok6zH14NlWNYTesOWOheMMJu2WXn0BTyBRmtyRjmtSdNgw83imagtifbTvMySvl7VwSn5TuxGZ99PqwOIFTKLpU7RTPPFlF06jWieFRrdLoIy0Cy7hgRbwSnwXS75E0WWjWKy6kVzYeFzEcpazaVyVcEEWbBR9KnbhczzQfLfHhtMrb94CRkuXiOu0sZIaV5odwxe3xW6QSqFJyGR9NW1cxHxngjY0RNBB9iPWlhR0q3HdVtu61XQ+UYVoOCgxPl0bRdRBM2K7Ad7ZG9rZAkyTzz4eICA2p7sq2S3i//qOhpKuzuyO0KTgcsipN52UVjh2omHmbCOybE8xIxkHBlMuaB4NTu8EevUDQf9gSnXnW7tCVjfIOlLr1Yznx4bTKWMy7F+TXbZTsvubTx7/WXul3GZ3Nl076Z3qOjKc6vO5Z1zhdkz3UwTmFBBtv0tbEBij5oPqbrXXDaJmQ+tMSmDL2I1SpeZz6sBh9WRYR6iCZsVmDBB6txmnW7uM98hNOC2Ap6O2xdnw+HJmOWgw+LmQ+WmZnOGpVd9IMPSSruoocMRq87IV0qoUiS+eJr5PPhxWA58f1X89rMc58Pe2UXK8PlrGg+JElCDzcaK//7mgtO/Wm1zXKfDz3BKWu19Ta7IG7EGM2JGJ8Y/ZYwL0xrBEZLIsot58PSbstMLVlWprUKZZe69fkQMx8r+jp1H+e23ZbtfrwwGAPEibP6N7Z8QeY3AMeCU5uaj60qdTe7uU2kc5o7i2mHBmMMZjRWT2UXPR8NvwfLHZywdq0Y1ebNBKdNiSj65hR3f17rPtjiYcVLh8120Wq19aLsEo1IgVis50wWWjVWJ9vOZvP8+jPqdgEU3cfekRlMpXP8H8uEdOsFH6W/ideD5XjmQ2fjx86V1z4fouWAiFYWXSvwlyTlGgpLuy27ltlxuS27GI3tqHvBaSwa4TcZtbmYiNt2W152cSFiE7GS+RiaSiNfkBGR9D/wXryOCG8tK6XX2wVBr9YHiKfpHe4yrRqNXf/gazj9+sdcebU8+uoAln/pIfz6hb2On0NEL5hgegRdnw/Lmg/rglNR8Ga926XyZm0mOAWUa8PrdlurHh+AscmYF90uQDBGY8xkzGrmw+pkWxacRCNS2WdaC1a6vvKeF/C2Lz/M/72wa7T4mnplF4NynhvYOUnolV1i/gQfYtefiFa7LfdjUmWow2Y0Vqn5cH58Q5NpnHr9Y/jCL16q+FmhIGMq43xjWhPBBwCctawXh3c34+TS1EEtFrvVfFgceGUVK0EB616Y25q0bLesxo7mI1+QsYPVOUtdDbGoMj9CS/fhuuwiGI0Z8fuXD2Df2CzufGqno9cBgJse24qZbB43PvqG7UF7WszyzIdK86HTymq324W32lrw+VCP8zaiyajbxcKcHr9s1q26m4qPyWjsslnwkXQZfATh02BntgugzGmZzuQNtSksOOlsiptmld69fJ5u2euwziYcu7Bd82d++Xxk8iZll9KxejlYLpsvYOehYlnlKFXwodVuq1fyDNt8F5ZhZkFHu01NoMim3aM4OJHGb17cW5EVnxbufU4yH85WkwD4j0tOBADDDxW7YPYMz6BQkBGx2RaazrLMh0eCU+GilGVZ89it1vANX8eGoGjPyDTSuQISsQj65jTz73c0xTGZzmkGH25Sa4DQ7WKS+WAp319s3IN/XnOMbTHhS3tG+dTjnUPTWL9jCGcsnevgiBV0yy4aglNZlm3vyEXBqd41wuDjvFPFcd5GGA0As+JWywR42z2ebpvJGXc1iHDBqWbZxV6Qp0cQDpV2yy5tqRgiElCQgbHpLHrbtd+zFb0H45JTF+FDq/pQ0OjQSEQjuvdOvwbL5UyM5/wwGXtraAq5goyWRJSPnmcs7q7cyA7yxgB15iNc7baTqsyHm9LivtLw0dlsAdsOTmLZfCUoZfeRiOSs5b1mMh+SpD1wSGRhZxNiEQmZfAEHxu1bQ3ud+WBCWVnWtrkG3FurA0rq3kpky3ayR8xtKdv5sOyElqJ+0uFEW/VzG2k+pjPKrn5sJosHN++3/Tp3b9gFQNlR3rXhLdvPoUYvmNASnGbzMhcTWg1g2TktyOa7yUEbgapYdlFngKYsKNSZAI/VxL0iYyPzkTSa7eKB4BQIJmXOFlqrZZdIRBK8PvSPk312zfQejEQsglQ8WvHPaNPmm+CUBR86r+2HyZi6609Ea1aYnhlk7ZRdHAQfwoiFl0oT5RliRtzJLLSaCT6sEI1IXCjnpPTCMh9edbuk4hGuhNZLybk1GAOUi8xK6p53usxrK/t+p0G7rZuxyeLxGZmMHZooD3pYIGGVidksHnhxHwDg2vOPBQD8zysDfLfiFL3gg/t8CDdh8f+t7sibhceZpW0Vd0XzQFVclNXiQOWmYaD5KAUfB8ZnPb2pmrVUiiQMfD6813wEkfmwfsO2MtmWBSZGc13coghO/Sm7mJuMeR98qPUegNK8sH9shmfelHt1uDMfE7zbpVxw6kTwzzIfAPDy3vLgw21GvK6CD0ApvexyMN2WOSl6Za8uKqH1Lky3BmOAUnaxk/lggkKGUbutMoLdpeDU4OJnHT8dTXHEIhKee2sEWw5Y95n49aZ9mM7ksbS3FX932mKctKgTuYKM+57b4+iYGTNms12EjBbbDUYjkuWhYZGIxIW8Zu22itjUPFBNCV416o6XKYPBcoyOpjjPxm0/6Kx1XYuMiZmUiJ7gNJtXZg15FXxUs16fM9E3aNFpkJlkjNjMfDjBN8GpSTaI6eG8bLVVd/2J9LQmkYpHUJCBvaMzkGVZyFKXf/7C2u3CMh5ugqP9o9YyH06ou+BDq1ZnFa+n2gLKBaC3sNhJpevB+7gt3ED1PnBGRmOeCU4NNB/MT+LwuS04e/k8AMDdFssmsizjrqeLj734lEWQJAmXnLoYAHDPM7tcCU/1zKy0hHeiFbudNKTVdls7fjCRiMRT5Or6vNVM1lJeevHObIyl1618xvQ0H+L7SSXcfVaDSJnb9fkAlHZbo7IL++z6mvlgZRevW21NSt6Kz4cPmY+eyuBDkqSydtuxmSy/DvW6XcIyXE6t+XATYO8VMh+v7h8vO/9K+dbZBqDugg83Lqdem4wB5mIfNqLZVeajVLvP5Aqa4jyGLMvcMrsi+Gg2L7s4F5ya1xzZhM2e1gQuOXURAOBXL+zV7NZQ88LuUbx+YALJWAQXnXQYAOD9KxagPRXDnpEZ/GnrQUfHDeibWWlpPtgN2a5Q1qrL6YBNJ1yt7Ew6l+e7R6vBxzYPRad2BKfsMdOZXFkAyXbdkuRen9VmUYz3wq4RXHDzX/DSnlFXrwcAWdZqa6vsYu71wYbC+Zn5YBk1r2e7ZE3KLlxwajP4+MoDr+Dv73y2IrgsFGTF3VRVgmYsEoaVssB/TnO8wgE7iHZtIyozH8pUWzsW8PmC0tofjUjI5AplGjC35fg6DD6KF4wTrw8/Mh/zSipqPavqwXHtVJ4dxNq90QI2OJHGRDqHaETC4XOby37WwdO6BpoPBxa6QLnJmN7Fzzpd5rYm8Y6lc7GoqxkTszn87kVz4SnTh5y3YgG/8abiUXzwpL6ynzuB7bJ1yy6i5kOnLdcMq+22drNkWsco+omY7Vj8mPHCavtWAvzDOpuQjEUwMp3FjY++wb8vdro4EbqJWE1J/2LjHry4exQ/+NMOV69XEAbr2WmttzLZ1spcF7cwrZNfmQ+zqbZ2Wm0zuQLufGon/vD6ID778xfLAti9ozOYzRaQiEbQX9IJquEb2aEpw67EMA2Xm83meZlSbTKWL8i6jQ9aHJxII1eQEY1I3OJi895R/nMqu6hYZDAO2Qyvp9oCwOlHdgMAntx6qOJnuXyBL7pOrdWBchM2o9Qai1oXdzVXRO9GZRc3RjKAkvnI5vXnH4jBRyQi4eJTitmPu54xDhzGprP43UtFoelHSxkTBvv6sdcH+c3DLnpTbVm6fyab5wEVL9HYnA3Eu5VMjMbsCE4BbRdWFkim4hHTxY+XXbwMPmxkPjqa4/jGB44HAHzvD9vw0MvFQNQrsSkAtKastamzmSdPbTvkqoyXFQSTdiZEWxGcWpnr4hYuOPXY5yPnQ+ZDtI5/9LUB3PTYVv41K7ksmdui+zkQS/js/tGj0ZWolL2Dz3yIARALPsRp5HYCpH1jxZLL/PYUTujvBFCu+5i2oB0zov6Cj9IFMzyVsZ0GS3s8WA4A3lHymXh6x1DFB2doKoOCXLwJdbc4Dz4A0b9f/+LaVsq+HKkhsDIMPlyWXZoTysWvJzpVgo/ijfN/n9yHeFTCi7tHK1TWIr96YQ9mswUsm9+GkxaVG9AdNa8NpxzehXxBxs+f3W37uEXfDnUphS18sqxcN3bdTRlWyi7l7qYWMx98vosSfEza+Fuy4GP38LRnrZV2TMYA4KJVffj7M5YAANbd+yK2HJjwZKgcw2rKnAUfI9NZvLJv3PHr5YXAxaooGYClVltFcOpf5sMvwaky1VbH4ZTbq1sP/NjnhZW3bnpsKx56+QAA404XhthuO2gw1qDNhuDfb8TPN7vnio0PkzYCJNbpsqAjxWeqifdiZUxDlTQff/rTn3D++edj4cKFkCQJv/71r8t+Lssyrr32WixYsABNTU04++yzsXXrVu0n84HWZIzblNvVffih+Th2QTu6WhKYyuSxafdo2c94NN2atLUL0sKKm+o2PsHRXvDBnrPZ4UUmSZKp0RhrtWXjvue2JnHO2+YDAO7WyX7IssxLKpecukgzBc/0Iz97ZlfZjd8K4u5OXXYRFz62MM9kChU/s0KzheFyWuO8zeC6FI3Mh5UsVk9rEu2pGAoy8OYhbzpe7NirM/7v+5bh9CO7MZ3J4xM/eQ4HSjsytx4fgPWyCws+AODP25xriMTF085nnmUzxiwJTn3MfPgkODXrgorHSmUXG622rEx5fF8HLjv9cADAP927CW8MTFgLPoRZYUrZpfKzF6ZW2wnublr++XZipsc6XRZ2NmHFYZ0AgNf2T/DPcNU1H1NTU1i5ciVuvvlmzZ9/85vfxPe+9z18//vfx4YNG9DS0oI1a9Zgdtad34IdtKxxreD1YDmg2HXASi9/VpVevGizZVjZPRt94PSCD1mWXWc+AHOjMbHswmBlk9+8sFczqHrurRFsHZxEUzyKC088TPN533vcfMxpjmPf2Cwe3zJo65jLuipUAUU8GuE7KvY4p+UArvkwKLtojfM2g7myzmhkPqzodyRJ4mI8r2zW7WY+gGJZ8T8uOQl9c5qwa3ga1/z6FQDelF3aLXa7iMGHVgnVKmWZDxuttmbzXWRZtuVw6hRWdsnmZU/H25uVXWJC5sOqaJLfX9tS+JfzlmP1Ed2YyuTxyZ88hxdLwmGj4KNvThMkqVh2fn1/MWusmfngVgJhCD6079VOjMZYp8uCzhT6u5rQ0RRHJl/AG6XuN74uONQC2l5lzz33XHzta1/DBz7wgYqfybKMG2+8Eddccw0uuOACrFixAj/5yU+wb9++igyJn7Ba3Vs2vT68HizH+KujiqWXJ1VdF0od0bnYlMG7ahwGH5063S6z2QLY/dJphAuIw+W0j++gRvCx+ohuHDG3BVOZPB7YtK/id1jW43+tXMifX00qHsVFDoWnbNFOxCKau9QmVbut00mrzD/FSHDqJFBtirNuESX4YP9vNZD0esBcxiS9rkdXSwK3fexkNMWjPFB1Yumsxspsl0JBLlv0n9s54rjbgy3YkgRb4x86ePChHSRNpHPc+8TPzEe5eZ13wYdZ2UXcEOYsZjDFbEU8GsHNHz0Jh3U2YefQNF4veQgZBR/JWBQLSsHGplKwolXyDFO3i1nmw84x7i9lGA/rbIIkSTi+NNSVjbBwKzj1dLbLm2++iQMHDuDss8/m3+vo6MCpp56K9evX42/+5m8qfiedTiOdVoRB4+PO66kMVqtjSmeR9qY4vvK/3obDOisVzl7bqzPecVQPAODFPWMYn83yhdKugNAIPkdG5yY6Op3h7axHavS1s8zHdCaPbL7AdyBixqHZxU7TyGVvNpvnEXmPEHxIUlF4+vUHX8O3/2cLfrOpfFItm8B5iUpoqubiUxfhR0++iT9uGcTe0RnNv70WM6VgQF1yYaQSUUykc3whcqr5sOLzwedK2PCD0WoHtuJuKuJ1x4sbUffyBe349/+9Emvvfh6At5qPqUwe+ZKyX83YTJYH4L1tSQxOpPHszmH89dE9tl+PLZx2sh6AElCMTmc0ZwCNThU/V6l4xJPzoofYCTibzbvKhoqYtdqKXTDi/ckIZQpt8TPT1ZLADz+2Chfd+hRmswVEpKLg1Ij+rmbsG5vl161R2SVdsjrwsmxvF3WbLaPNQpCtZl+p7LKgo3i/PL6vA09uO4SX9ozh4lNC5nB64EBRzDNv3ryy78+bN4//TM3111+Pjo4O/q+/v9/1cbAIbf/YLDa8OVz275FXB3THrXttr844rLMJR8xtQb4gY/32If59LwzGGG0mgiJWs1/QkdKMVMWLVcx+KG22xjMfzFAyH5XHN1RKaSeiEd6Wy7hoVR9aElEMTWUq/paZfAEr+zuxoiSG0uPInlactKgTBRnYsGPI8LEiTMOhl8lQt7KyIMTujtxKyYxlPrTU9nrwsouG5qPZauajNPnY67KLlcVDi/NWLMDadx0JQNlkuEG87vVuzOz6bEvFcGYp4Hhym7PSCysv2NV4seAjV5A1g1SWIrdzfThBkgTzOg9Fp0qrrZXgw27mQ7m/vm1hB771oZUAgOMO6zAN1NTXmNYYDHHxDXqyrXquC8OJLoVlPhZ2Ft8zW1eZ6JSbjIUh8+GEq6++GuvWreNfj4+Puw5Azl4+D3d/4lSMTJUvdA+8uBcPvzLA07ZqMnnvu10Y7zhqLnYcmsKTWw9hTUlIaSRiskuLSWTLoli9XX80IqEtFcPEbHGyLSt/uE2tMRSvj8rjO1TaoXS3Jip2dF0tCfzm0+/QtFqPSMApS7oseT0cPrcFz+8a5Yu4Fcw0HOrMgtMujBZLwYfzzMd0tjL4sFqnZWWXHYcmkcsXbHlTaOFEcKrmc+ccg3cvn4djdMyh7JCIRZCMRZDOFTA+m+XlDRFWculqSeAdR83FfRv3VOi3rMIEk3bcTYFiNo0d5+h0tmJnyxaEty0wDsS9IBWPYjZb4Bo5L1AcTo27XQBY1pooHkrl99fzVy7E0t5WdLeal6dYCZ8hZmYZsWgEzYkopjN5TMxm0dXiX9nLDP3gw56T72w2zzPlC1nmoxR8vH5gHOlc3nUjgqfBx/z5pUV1YAALFizg3x8YGMAJJ5yg+TvJZBLJpLfRelHkObfi+3tHp/HwKwPcCVCNHz4fjDOWzsVP1r+Fvwg7JsUu2wPNB7fQ1b4hsCh2gUHJoaMpjonZXJnRmBdiU8B4vouW2FRkaW+rYW3WCmzRtuP3wfrY9cooKZWPhlvBqaWyi63MR+UOddLmbuWwziY0xaOYyeaxa3gaR2iU7OyQtWEypockSRVt1W5oS8WQnszonv+hSSX4OKPUOv/a/nEcnEjbzjQ4GSrHmNOcwIHxWYxOZ9HfVf6zl0rBx/EmWUAvKIpOs556fbDrQi+4jUQkRCMS8gXZeubDoFS5fEF7xfe06BcyH90tCd3rtjUZKwUfQWc+mOZDVXax2e1yoDTNtike5XrAvjlN6GyOY3Q6iy0HJizNiDLC01V2yZIlmD9/Ph577DH+vfHxcWzYsAGrV6/28qUc0VXy0hjSCT5YJO+lwylj9ZHdiEYk7Dg0xVOkbEFRR+ZOMOvjZq/JUmhasItMLI2wC8x95kNfcKr2+PADtmjbmXJrJiBNxcpnp7gWnBp0u+iN8zZCS/OhBJPWjjESkXBET7Eu7kXpJW3DZKxamHUCsE6X7pYE5rYmcWxp4Xpqu/3sR85kkTXCyGhsc0kQyXanftKkMdHZLVbKcXbmu8xm83wT5SazvLhb0YQYbRLD0m7LAug21f261eZ8l31CpwvLLKtFp26dr21/AiYnJ7Fp0yZs2rQJQFFkumnTJuzatQuSJOEzn/kMvva1r+GBBx7A5s2b8bGPfQwLFy7EhRde6OgAvYT5f+i1q/lhr85oT8WxsrQreXLrQWTzBZ7W8kTzYXJx8Z7tDuPMB6DWfLgzkmG0GwhO2XnQy3x4gZL5cFB20cl8cMMlHnwUDB+vR4sFnw9lnLeN4KP0vNMOfT4YR3nodOqk1dZvzDoBRlTOoax7zUnpJedgrgtDL/gYm8liZ6mzrxrBB7s/emU8ByjnxagLSjEaMw8+DpZKuYlYhN/XnCBqPoyCmCAGFGrhVdll35h2mZ7p6zbvGbNlWKiF7TvAc889hxNPPBEnnngiAGDdunU48cQTce211wIAPv/5z+PKK6/EJz/5Sbz97W/H5OQkHnroIaRS7hdYt8wpBR/Dk3qZD39vjKzr5c9bD/HdfiwiocuD1ji2gOlF3vu4eMhu8OFR2cVgsi27Ucz1USzHjLnslV1saj4y7jQfeoGjOM7bXqtt5Q7ViYbHy44XO/bq1cJs18rLLqXMHCu9PLn1kK1BXYBQdrGp+QDEjpfyz9ArpZJL35wmfo/zEy3bfrdkc8bdLgAQL92XrbTaDgoDO93M/5nTHOdZBKOBjmHJfLDNXauq7GJ3/ozobirCgttNu0f5ZqtqDqfvfOc7Ictyxb8777wTQDE1c9111+HAgQOYnZ3Fo48+iqOPPtrRwXkNy3wMTWU0bxoZH+zVRdiO6antQ9g/ppRc3HSRMFhaTW/3rLRN6X+AtIbLeSY4NTDiMdN8eAHrzx8cT1teMPQm2jIqul0cCk7Nul3Ecd72ul0qd6hO6rReTrcNY+bDzCNneKokiC7dP05Z0oVELIID47PYftCe8ysvu9hstQX0J9sy3wWzri+v4PNddHw+9o7O4Dv/s4VvKqyQLZgHpSxbZDS5mzHgwcBOoLieMd2HkbNwWLw+vOp22a+zWT2+rxMAuE8KQIPlLMF2BelcoaJemS/IPKL268Z4Qn8nWhJRDE9l8HjJf8QLsSkgttpWXlzpXJ4v8EYeF+0GZZdmh3U99XNPaGQ+qqH5YDeOTL6gaSGvhanmg+8AizdD1w6nmbzm0DKjcd5GNMUryy52BacAsLRXcTl1M1QNUM6RH6VNp5ilpIeny23LU/Eo3n54UfCqNg40w4+yCxebliyw/YZbrOuUXW770w587w/bcI/JUEgRs6m2gBKYWMl8eNlJeMz84vUv6j/U8PkuAbfacs2HKvhotXl8e3XK9As7UjwIB4rXsdPPcnjuAFWgJRHlgcWQqvQiRtN+BR/xaASnHVG0Wv9VyWvEiw8HYGwyxpTLqXjE0Hq5s6k0P0JDcGpVoKiHkckY03xotbF5RTIW5RbVVnUf0yaZD7YDrBCcJuxdP2LaUkvE56TNtngclenxaZsmY0Cx3TAWkTCdyWO/w+nAjEEHfiV+Y7Yr5JkPITh+x1Jnfh9OfT4AxWJ9VBV8bN7Dgo/qZD7UWic1bNfM/msFVnYxasG2Izj1KvMBAF947zJ886IVOH/lAt3HhKXswgJoteOz3czM/lHtzIckSThOuM5akjHHZa2GCj4kSeJR2/CUfvDh567sHaXSy56R4h/Xiw8HoOxktVLHe4ULyehC0dJ8eOfzYaHbxecFyW67ranPh6qs4VTz0RSPgq1FWqUXJ2JT9rzi8YnPb6fsEo9GcPhcbzpeuHbFo+veC0wzH7zVVrk+WQn16R3Dtsa8s9kuTjQvWpNtx6azfIBmtYIPXnbRCT7YZuLghLa2ToushYwQ6xCycr6dOALrMb8jhQ+/vd8w6xiW+S76s12st9rKslzW7aJGLO+50QI2VPABKKnTYdXuIZ0vfpAkyVlK1CrspsXwKvPRJugG1JoGK50ugBJ8jPshOC1d/Jl8oeymlc0XeA3bT80HoCzeVoMPs7KLenFnkz7tll0kSeKCYa20qLJg2zs/zBa+vOziLJjkHS8DlWZvVsnmCxia8m6kgFeYWU+ze4UoDD92QTvmNMcxmc5VTKs2gi2czjIfJc2H8Plkeo/F3c2aBml+kIyXlxvVsM2EnpmjFrzV1mDjx8suFnw+Bj0c2mmF1hBoPnL5Av+s63W7ZHLm5nDjszlMlZ5Ha80oz3w4z4g3XPDBUqfqjhdurR6NuFJHm3FkTyvmC9G4V5oPdvEX5MrU/T4LHh+AIDidUc6N27HJjJZEjO/uxdILK39FIxI6XbTEWaGXe314VHapsFd31moLGE+2HeSZD3s3UvXxybLMbyp2e/N5x4sL0emhyTRkuRjc+zn8zC5GKfPpTI6r+ruEskskIuH0pfZbbpXMh3PNh1h2eWnvKIDyBcFveNCts4gxx2I7wQcLKLwru3iX+bCCmdVBNRDvHWqTsTILeJPsB1sv5jTHNe9lYubDzbrQcMFHl17ZJe+fx4eIJEm89AJ49+EQU/fqi4v1bC8wyXxoTbb1quwSiUhKalIovbAbVFdLwpOuHyPm2Wy3Ne12UWkqnJqMAcoOQuvm5cRgrOz4SseVzhX44md3x8I7XlyUXQYEu2u//9Z2MDIZY8FxIhZBi+o6+CvecmtddJotuNd8iA7NzFZ9RRWDDyPB6UwmzwPcYrBpTaBsR3BqxeGUlyqrpC2y28rqB2xTl4xFKnSL0YjEr1+zY9TrdGHMb0/xLLVTgzGgAYMP3bILHyrn30RIxl+VBR/efDgkSdJtGWSRrNk0VyOTMbeCU0Cc76I8/8EqtNky2OI9aFFwanW2y0w2D1mWHbfaAsbttgPcCdde8MGmEGdKQYcY2Ni9abBJyFsHJ217WzCcalf8xkgMPSKUXNQZUbaJYNOqrZC30FKqB9N8jM/m+HyTl6osNgW0tUQMMdsxmy3wQMQMK/4vrBxulvmYyeS5tqFa11oYTMb0JtoyzJx8GbzTRWe9KDqdFl1+qexig24do7FqZT4A4PQj50KSioPR5nv44WjVqV0rc12MX4uJQsWhUdxe3WWrLaA92XaIu5v6n4Zni/eARYt1ltFoNim7zGbzyOZlnlVwEnwo7bYamg+H9WsxYzOTzSsTbR1MKD6ypxWSVPSYOGgjnS4y6GH7o5cYWU+zUQxaw8L65jTj8O5m5Asynn9rxNJrZV10u4hlybGZLEamMly4/raqZj7YdV8ZBKivjUMWS5ysfTZu4H+S4CZjxsEHE5um4hGekfAbvvELMPOhzHXRfs9WO154p4uBJ9TK/k4AcFU+DXyqbbVhdVv1fBc/rdXV9LQl8b2/ORG5QoHvZrygNRUDxip3z/tMIllGWzIGSQJkuXhz622Leqb5ALSNxthOyc82WwZb9OxmPvSCCTHzIepsnJVdtBfAorups/p1Mhbhf8+ZTN5VCa0pEcWRPa3YNjiJV/aOo3eZ/aBZcWkNV+bDKGXONil6E1CPmd+GnUPT2HloCjjG/LXyfLCc/ftMLBpBWzKGiXQOozNZ7C0FHkvmtriyELcLK7toOZyqg41Dk2neKWWEIjg16HZhmY+cceZNvM781O+JtBlYHVQLPY8PBhfFmuhS9um02Yp8bPXhmMnk8ZG3O59A33CZjy7erqYqu5R2+tVyXjx/5UJ84MQ+T59Tq+wyPpvlF6VZt0skIvEAYazUgaKUXTwIPljZRch8HKqCtTqDpWAHJ2YtmWWZlV3EHWC69NhoRHIkJtQru4xMZ/lu2W5pSpIkJUDK5F3/LVlqn6X67VLtOrxVWDp6UqNTTD3XRQ0znto1bM3TgpVLnHbUdbYoolPW6VJNsSkgXPcagtNDqoyyFdGpLCuTag3LLkzzYZL54GLTKrZz82sok3NtxOcUPXdThtWyC9cIGgQfXS0JXP2+5a6mXDde8GHi8xEm50W7MD9/Mfo2Uy6rEUWnxe4IPzIfQvBRBXdTBsuuZPOy7nBBEaXsov3eRcGpGKg42W0pgtPyGzq7kRqN8zZCzM5MOTAYE1EmWo46+n0uOA1Z5oPdrPMFuawtGTAuuwDKyPVdw9Zs1t3MdgGUIGhkKsvNxaopNgXKy41q1MHGQZ05WiKiY6lh2cViq61ynVUvyGXXkCwXA5Ag4GWXpJ7mw1rZRdEI+vs5rd2V1iG81VYn+AjTzAm7tGp0TOwftdbpwhBFp9OZPNhG0O1UWwA63S7+T7RlJGIRrvmx4nI6Y+JYKgrv3IhNAbHVtvzG5VakKbbbutXvHM8mWu51l/kIW9mlKR7lGgx12UsxGNPJfPDgY9rSaymzXRxmPoTMbVCZDyWgrcxAqIMPK5oPMZgwLLtYbLXlrelVzHyk4lEeHAWl+2Dl7FadzIeVjpx8QeafU6trhlNqd6V1CNs5jM1kyy5ivyfaVoNWDd3AXgv1OxEx+GALYURypmNQw8ouE5qZj+rsUsTSixlmjqVlmg/+WGfXDwsIplW7JrdmSYrRWM61YdyxC9oRkYqBm53pwAwnk3mrQVmnmGpXyA3GdIKPRULwYaULSMl8OLtOWLvtjkNT/LN9XKnzoFqwz0PaIPPB7iNWyi4Z4T5spIWx2mrr5VwXOxiNuKgGppoPk+nZQPHvlc3LiEYk38ujtbvSOqSzOQGWFRdT735PtK0GWsODlJ5ta7uAdmGyLRcoJpz795c9t4HgtFrBh1XRab4g84BUr+zChXdC8OE0SGOZj+0Hp/DoqwP839NvDhWP2+EuTpzD4WSonPoYmd/HZpu6j0yuwLONYbJWZ+jZT7Nj7tYJPg6b04SIVNT9WJni6lrzUfp8/rnkLXJET4tua6VfGPl8HCpZqi8rDWOzEnyIm0AjvZRVk7GghM1BT7ZVul3MWm31j4+VXOa1JR0HyFZpuG4X5qQ5Mp3FyFSWp+a44NTnE+4nWpG31U4XRnnmw91ipaZdZd+eL8j85j63rTqOl2zhM9u5z1roXmFTbWVZ0bE4cTcFlJToM28O45k3hyt+7nQXx8sumYInnUvHHdaBNwYmsXnvGM4+dp7l32MtmImo8XDDoCjemGcqUtLs+pyjE3zEoxEs7GzCnpEZ7BqeNi2PudV8sLLLy3vHAVTX34Ohds4VYcHG8gXt2PDmcIUAVQuxFGW0yVHs1a0JTqup+QCCHy7HXlevvdjKfBe764UbGi74AIop1JHpbGnORDFCZ7vcpMO0eRjQ0nzwAUEGPdsinULwMelSoKimXWXmNDyVQUEuztPpqpLdNrshmXl9iDdWPRGyGJSwYV9ONR9nLevF2cvnae4U21IxfPAkZ51R2mUX53/PFYd14FfP77Wt+2ALQk9bsmrtj3bQa5U0y3wAxdLLnpEZvDU0jZMP7zJ8HTettoBSdmEEGXwY+Xw4yXyYGa+xc5YxKbsMOnQEdgsTelo1nPMavaFyDCvdLoonFAUfvtDdksT2g1NlolNWd6zpzIdG2WXfmDV3U4Y4XM6roXIMdeaDW6s3J3xP8TGU4XLGN0WxjKJnyBWPRhCLSMgJGRynZZfu1iR+dOnJjn7XCFEUO8lNxpz/PY/v6wRQFJ3Ksmw5kAirwRijTUPzkc0XuNuvnuYDKA51e2r7kCXRKWsTdWIyBlRmYFaU/h7VRG3bz5jN5vnCtmxBUYdiRXCqBB/G54SJUY0yH1PpHLcaqHbwYWRWVw0mTRxOFRNK/eBor8U5YF5QuyutC+a0VM5IUOzVa/eUqMsuhYKMAxZ6tkXKyi4ettkClZqPaus9AGUy7KBJ2UXpdDEOJtjiPuIy+PALrVZbN8EkE50enEhb6hhiOJ1PUy20UuZMEyZJMDQD7LfR8ZLPuyu7iGZikgS8bWF1xaYAkCrdIzO5QpmnBQvA41EJR/QU/U+mMnlNMzIRKx4fgNKGa6T5YHqP5kTUs02TVYIuu4ybOJxa6XaxOgHdC2p3pXVBV0txARrSyHzUsuC0TaVmZsrliGR9HLsy2dYPzUe5yRgPPqqk9wCE+S4mOzKrAlKm+2BdEU67XfyiiZdd3AtO2fMdPa+YUn9pz6jl3wtrmy2Dp6SFXevIVPE67WyKG2YqFncxozHz4INrPpxmPoQg6MieVs8+m3YQS4usXA0on+fuliTakjFerjQrvVguuzDBqYGJ12CA11l7wPNdvDAZ22cyVM5LwnWnrBLdGkZj9eDzobboZk5189pTlssaHc2VrbZel13SuQJms3mujK9q5kMIPoycCKdNJtoyWLDBMx8OBad+4aXJGIPpDF62oftgwV61RYBW0epUKGrCjEsugNJu+9aQleCDdbs41XwoxxKE3gMoDz7E0ou4mZAkiX+uzWYBWZloC1gTnA6w6ywAF92gMx9ezHbZx32hqOziC3M0go9q26v7gXq4kRWPfjUdPgpOWxMx3uY8MZsLpOwyt7XYap0vyBXzfURmTazVGbzs4lJw6he81TajmIy5DSaZ2dhLNoKPgQCMn+zQqrFwDJu4mzIWdReDj0OT6QqfFjWuTcZalLJLUMFHNCJxbZzYFabeTLCRCWa6D1Z2MdPbKa224cx86A32rAayLAs+HzqajxQbXpnnwmeRdC7P78lWNYJuqN2V1gVGmY9atldnkS3b4drtdAG0Tca8Su1GIuVmTgcDCD5i0Qi6S2U3o3Zbs7kuDPbz0emQaj6EsotXf09us75nzJKxFuDeLM1vtDwQRiwGHx1Ncf652W0y48WtyVhbMsZLQCv6ggk+AKUrUMx8qD/PPSU3abN225zFsotiMmaQ+QhQ2Nym4WNULaYzebB4wizzAWiLYpk+MBWvTjt87a60LtCa75Kug+CDLewz2Txy+QJPodmJYtlNNJMr8MyAUztuLUTRqWKtXj3NByAYjRm0285YLruUNB81ITj1Zkjg8gXtiEYkDE1lsH/MmtPpgMPJvNWiXaNTQZnrYr6QKaUX4xkvbk3GJEnCxaf044yl3YF0ujDELioG13yUPs8syB8yKbtkLJZdYpaCj+CEzUGajLGMXTQi6d6DkrEoz+xrHaPohl2NdvjaXWldoBV81EPmQ9zRTqXzjjIfrcLOil2MXoraxHbbak60FZlnod122mrmoxScsN1OWDUfs1nvMh+puCg6NS+9zGbzGC2VpcLobgpo1+uVsov5LpCVXsxEp25NxgDgaxcej7v+v9MCLRFreX2wzUQPL7uwzIdx8JGz2O2SiLJWW/1sm+gnU22C1HywYKI1aexGbdTxUs1OF6DBg4+R6QxPG9eD4DQRiyiRbTorWKtbv5gkSeLZDxa8uDGlUiMajbGbUk8Vyy6ANYv1WYuZD3Vwkgxb5qN0/FNpYbCcB3/PFTYm3DLb8WQswjuewgbzyNEOPqxnPkyDD5eaj7CgmfmYKC+7sP+alV2s+nwoJmP6mY+DAVmrA4JRXQA+HxMmc10YRvNd9lXR4wNo8OAjm5f5H60eBssBSrvtVDqPvQ6tclnwwWqAfmQ+RqezPK3dXeWyCxM9GrmcWvX5UAtMw1p2GZnO8JqwF91Lx/EJt+Omj2Xlrd72cLqbAtopcyvupgyr023daj7CgtZ8F7WA3Gq3S8Zmq62VzEcwwUdwrbYTJgZjDKNjZN2Rfk+zZdT2J8AhqXiU206zkdn1MFgOUBTNQ1NpfjOwG3ywAIHdKD0NPlJMmDfNFdfdFnaWXtLLMx/6wce0VZ+PsAcfpeucXQteTSjmmY89o6aiU16HD2nJBTAuu+jNdRHhmQ+TdtucS4fTsJAUtEQMtW+PkvmwVnYxC8hYNww7h2om0zlMlT63QbfaWhVie4VZmy3DqDTEMh/V6HQBGjT4AJTsB9t9p+vAXh1QdrXbBicBFHco6nkQZoguiuJzegFLu28/OMVfq9rZJmW4nEHZxWa3C/86Ea7rhwfZgnjYi+zDsgVtiEcljExnuTZIj7AbjAHKjjCdK/CNiJ3MB3M53TMyo9nGyGA/MysxhJ0mleYjmy/wdnPe7cI0H6attuzea01wqjfbhV1nbclYIOZr7BrKFWTNuTd+wjMfJu/baLicMteFyi6+wnUfLPjI1r7PB6BkKd4YmABQFA/ZXWzUwYcf3S47DhWDo2p3ugCi4NR9t4s62Aibzwc7HrYeNnuk30nGFNHpZhPRKQvywmowBpQH2BOzWciyzO3VzVptgWJ2MRaRkMkXDK8rttBGHZqMhQV12YUFahFJMUJjQcj4bI77KGmRLVgTnMZ52UV7YQ9qmi2jOR5VfIzS5WWNLQcmcMYNf8Cdf3nTl9eeNHE3ZfD5X6rgo1CQqzrRFqDgg39oFHv12j4lbTz4KC7uTi6kTl8zH8XnZunpanp8MJjg9NBkWneXarnbJexlF9XxeLkjXGHRbCxI4yerRCMSWkqB5sRsDuOzOW5mZSX4iEYk9M0pftaMnE555qPGyy5qwSkTena1JHlJqaMpzgOGIQPRaTbHWm3d+Xwc5O6mwVxn5T5G5Yv7rY9vw97RGfzi+T2+vLZSdjHTfGi3Az+1fQiT6RzakjF+HftNba+0Lqgou9TBYDlA0XxsLWU+nNjkVmQ+POx2YRc/05NUu80WKE6QjUjFbICeB4Fdnw+9r4NGPcHWy0DyOIs264MBWl7bgd24J9M5nhFtTkQt/00XdRdnvOw2EJ2ygKbWNR8pVfChiE2VQE2SJK7nMtJ9MA2H6VRbbq9uXHYJ0siuXWN+yshUBg++fAAAsH1wynCsg1PGLWY+9Fpt79rwFgDgAycdVjXdY22vtC7oalbabYH6GCwHKIsLq786yXxUBh/el10Y1W6zBYo3fpZx0dN9sJtqc510uzC8LKGtOKwTQNHrw0hgVwuaD0Csh2cFgzHrZcFFXaXMx7C+0VjeYokh7KRUglPu8aEKMK14ffCptialKNbtotdqG4bJyVqZhV8+v4friGayeT68zUvcdLsMTszikVcHAACXnLrI82PTo7Y/AS7oKkXoQ6pul5rPfKgCBSc922LwEYtInpai1D4PQWg+AHPdB5vRYbbrrRSchiv4SKk0KV4GkkfPb0UiGsHYTNbQVjwMO1IriPNdrM51EVGm2+qfC0XzUS+Zj+L70ZvTxDteJvTLLuzeG48Zn5OExcxHb4DBh3q+iyzLuHvDrrLHbC01A3jJZElj0mqm+dDwIrnvuT3IFWSsWjwHy+a3e35setT2SusCZb5L8UPDBFG1rvmoDD4cZD6E7pjmRNRTbwZ15iMIzQegLIR6Xh8zpZuqVYdTRtjKLolopGyh89IwLhmL4pj5JdGpTullJpPnKeEgFwUriCPHrc51Eenn7bbmmQ83DqdhQC04VQzGys+XFa8Pq5N+uc+HTqttGOYHqVtZ1+8Ywo5DU2hNxnDm0T0AgO0+BB/s9dotttqyz2S+IOOeZ4rB0SWnVC/rATRw8MEU2cOl8kQ92KsDlZGvE8MYMfPhpUZA/dxAcMFHr4nFutWyS9gFp5JUPuvB6xZEZcLtqObPmcFYUzxq2gYYNNyh0nHZxdxojJuM1Xi3S1NF2cUk82Gh7GKWdeYOpzmd4CME84OU4XLFdYVlPS44YSFWlj4r23wMPsx9Pso1KX/aehB7RmbQ0RTHeSsWeH5cRtT2J8AFzFVzeCqNXL7AWxGp7FIeIHi9WFVkPgISITKvj4M6mQ+rZRfx59GIFEr/BvEYvQ4mVwgTbrUQ22zD6m7KaC8ru5S6N5ptBB+l+S4j01m++Kjhu/wQXid2YNcUE+qzYK0y+DCfbGvVXl0xGassu8iyrFxrAQqbxczHock0Hn6lKDS95NRFWFpqTfej7OK024UFRxed1Ff1rG1tr7QuYPMahicz3FodqP3gQ4x8O5vjFd0OVvAz+FBnZoLTfBgLTq37fCg/T8UioVxgRS8Sr/+eK/s7AQCbdo9q7kj5bjTE7qYM3iaZzmF4qnhz7rJxfbYmY7ycq+d0Wi+zXdRll4M6QyKZANXIaCybt1d20Wq1nUjneBYmqFZboFxT8YuNe5DNy1jZ34m3LezA0p5WAMXMh9cOqEzDYba5YNnHyXQO+8dm8IfXBwEAl5za7+nxWKG2V1oXsB3NVCZf1nZU6w6n4uLidDqhn2WXaEQqS78HV3ZhwYd25oMJ6cy7XZTrJWxiU0ZzXDnfXgcfx8xrQ3dLAtOZPJ7fNVLx81owGGOInQAs82HF3VSEZT/02m3rpeyi1+2ip/kwbLW1WHZRfD7kisWbecm0p2KBfg5ZZnd8JsuzCh8tdZAc0dMCSQLGZrKmw/bsYrXVViy7/PzZ3cgXZJyypAtLe9s8PR4r1PYnwAXtTTG++zhQunCjEanmBz6JwYLT6YTNiShPgXrp8cFgRmNtyVhgAs1eA4v1XL7A2/nsmIyFTWzKSCXEsou3xxiJSDhj6VwAwJNbD1X8vBYMxhhtGt0uc2yUXQBF9/GWXvCRr6+yy2w2j3xB5sGaunXeSvCR4ZkPM58P5efq0ksY2mwB5Rr645ZB7BqeRlsqhvNXLARQPGfs+tg6OOHZa6ZzeZ51tFp2yRdk/PTporfHR6vYXitS2yutCyRJ4gOjDpT6rmtdbAqUR75ObXIlSeLZDz9mJLBjDErvASg3qaGpdEUaVxyWZafVNmxiU0ZT3L+yCwC846hS8LGtMviolTZboHxXODztbOKy2XRbJfNRH8HHTLbAJyZLUqVAl2VCRqazus6k3OfDosMpUNluGxYvGXZvY5mND554WFkmhpVevOx4ETP3Zpnq5kQU7NI7NJlBV0sC7z1uvmfHYofaX21dwEov+0ujhGtd7wEo3v2Au9HILDvhddkFUFKTQek9gGI6PRqRIMuVuzIWfEQk84BUzCqEtuwi6H68NBlj/FUp+HhpzyjGpsuFlmHZkVpBscbO8mnXXTYnLvebTLdVNB+1fa9p4oLTPP/8zGlOVGSO5zQneKs3yyapYdmguFm3i5D5UBuNcRfdgINc8f4LAJecurjs66W9iu7DK5inSEsiauofI0lS2T39Q6v6AjPWrO1PgEu6eOajFHzUeMkFKC+TOC27APA188GMxoLSewDFcgFTxQ+qSi9cbBo39ziphbKLn622QDHIPbKnBQUZWL+jPPvBBKdq58sw0i7sWtlodjvdLoB5u209+nwwAzGtzUQkIvH77EEd0SnvdjEru0TEzEd58MENxgIWNouZ55MXz+E+OAwWfHjZ8WLV3ZQhPu7iKnt7iNT+ausC9qFgmY9kvPZPh7izdTOdsLMqmY9gF6ReHZfTaYudLkAxFcxS6GENPlJlwYc/x/iOku7jzyrdx2ANZT7YTXnvaLEMG4tIFY68ZiwuzXfZOzqjWWbIFqzpG8KO6POh5/HBMNN9WC27RCIS39mrNR9hMBgDyoMPLatyPzIfSputtWuVPe6Mpd1YMrfFs+OwS+2vti6ox8xHpDRdMx6VXF1Y7Cbqx4RDlpo+oie4Cx9Q/AAGhB2ZLMv44Z92ALC+YLLFvSmkwWtzmeDUH6OvdxxVdG8UdR9T6RwmSi2AtRF8KGI8AJjTkrDdOt3blkQiFkG+IGP/aHlQWyjIYE0atS5sF+3VWVDRrRt8GHt9ZG2IcFnQpm7rZgLOao2D12NhRxOSsQh62pJ43/GVpl1HloKPwYk0xma0vWDs8vK+oseO1ewiu+9euvpwT17fKeG2HPQZnvkYL+50EjU+VI7x08tPxfhs1lVm4Z/OORpnLevF6Ud2e3hkRT515pE4afEcnHZEl+fPbQe2SxoUMh+3P/km7n9hL6IRCdecd6yl50nFo5hM58IrOE34W3YBgNOO6EI0IuGtoWnsHp5Gf1czr8O3JKK+BT1eovagsVtyAYrB/6KuZmwbnMSu4WneegsoWQ+g9me7sCzxTDaveHzoaLjYfUhvgjQLPqxs/hLRCNK5QlnmY3B8Fm8MTEKSgFMOD/aeMqclgV+vPQOtOp187ak45rencGB8FtsGJ7Fq8RxXryfLMu55ZjcA4PyVCy39ztcuPB6Xv2MJVi0O9lzVdvjtEhZ8DIwVPxT10O0CAIfPbcGKvk5Xz9GWiuOvj+7xZYfWlIjizKN7Ap8gPK+tvOzy5NZD+MaDrwEAvnTecqy2GHgxE6+wCk79dDhltKXiOLFkOMayH2HpQLCKOm1tx1pdRGm3LZ/xkhcWzDA64dpBDLT3lTLH+mUX48m2rOxi5V6jZTTGrrfjFnbwDsYgWb6gnWd3tWClFy86XtZvH8Kbpdkx/8ti8NHVkgg88AAo+ACgKKfroduFsM48Yb7LrqFpfPqe51GQgf+9qg+Xnn645edhN+Kwaj5Y2SXq8YRiNbzldmt58FELYlOgOChPvAe4DT7UotOs0B5a65kP8Vpnhmpqjw+GovkwLrtYCcgUozEh+Chdb+z6Cztc93HQffBxV2ko3IUnLvQtq+kXDb3aqt0L6yXzQViDteXtGp7GJ//rOYxOZ7GyvxP/euFxtmr9TVzzEc7ggx1Xi8cTitWwltu/bD+EfEHm6fhayXwA5VNBXQcfqnbbssxHjbfaikLrPSPFsvXcNuOyi17mgzucWsh8iC6nQLHswDIff7W0NoIPpvvYOuDOaOzgRBoPv1yaHXPKYpNHh4/aCpU8Rp2io+CjsWBteW8eKqbHe9qS+MHfrrKdwUjVSPDht+5iZV8nWpMxjE5n8cq+sZoyGGO0JmN8h+515oO1h0pSURtS6zCtk2m3SynzZdZqa6XswrIj7FxuHZzE4EQaqXgEqw53p5+oFkd5lPm4b+Nu5AoyTujvxLEL2704tKrS0KutOvNBZZfGQlwU41EJ3//bkzC/w/4uPRXysgvTovidlo1FIzjtiKJO5s9bD9WUwRhD9EBwGnws7lYyH+IMEiaSrPWsByOl6u4y13zolF0K1ssuMVXmg7V2n7KkO3ANmVVY2WXPyAz3FLJLoSDjnlLJRaultxaoj0+BQyozH7Vx8RLeMKc5wYfc/esFxzkWYTELbqeLld+w46uG9uKvBN0HN36qqeDDfdmlv6sZ8aiEiXQO923cw7/Pygu1rvdgqINtPSt6pgUZnkqXlZ4Y2Zw1nw9AabVl2ZIntx4EUDslF6C46e1sjkOWge0Osx9/3nYIu4dnymbH1BoNXXaJRyNoS8W4Q1w9+HwQ1olEJPzwYydjZDqj2ZNvlXXvORor+zpdPYefnLqkG1//wHF4exXaEJnob+NbI3wx6q0RwSlQHnzYnWjLSMWjWPuupbjx0a245v6XcVRvK05cNAe5Qn0MlWOIwUd7Kqa7eetqSUCSgIIMjExnKjIkiuDUQqttKTudKxSQyRWw4c1hAODDDWsBSZJwVG8rnt05gu0HJ3HcYR22n+PuDcWhcBed1BfaLjszGn61FW8wVHZpPFYf2e06aOib04xLTz88tDeBaETCR09djKPn+T82+4i5LVjYkUImX+DOwbVadnHTtvl/zjoK7zl2HjL5Aj71040YnJitm6FyDFHjZDQkMhaN8OnAWqJTO90uismYjOd3jWA6k8fc1gSWza/+SHg3uHE6HRifxaOvDQKo3ZILQMFHWWqVBKcE4Q5JkipaHmsp8yGKcp1mPoBiVu07H16Jpb2tGBhP4x9/+jy37a91d1OGqPkwMzTkuo+JSt2HVXt18TG5QoG32J6xdG7NCXiP7GEdL/aDj3uf3Y18QcbJi+dUZUPhF/XxKXBBF2U+CMJTmNU6ALQlYzXlPyC22ro1rGpLxXHbx05GWyqGjW+N4LrfvgKgfjIfYtlFz+ODYdRumytYL7uIPh+sxfYdNVRyYRxVChrsdrzk60Boymj41bY88xHOtDlB1BJnCM6wQY84twsru7SlYpYWQzOWzG3B/7v4REgS8PyuUQD1qfnQs1ZXfq4dfMiyLDicWjEZKz5maDKDl/aMAgD+Sgh2awVWdtl5aEpzAKEeT7wxiH1js+hsjodWY2aVhg8+5lDmgyA8pbs1iWMXFH0Hgh5xbhcmOHVTclHzzmN68fk1y/jXsbpptRWDD2uZj4Oq4EN0fbXU7VJ6zJ+2HkJBLi7iTtrjg2ZhRwrNiShyBRlvDU2Z/0KJuzcUsx4XndQX2tZ+q9THp8AFJDglCO/5q6OLqfCgp4zapbOZdeh4u6B96swj8P4VxZ1qWM3o7JIS7pdGgtPiz7U1H8/uLHarSJI1zR3LfDy9YwhAbZZcgKI2iuk+rIpO//TGQTz2elFoevEptV1yARq81RYAulqUDw0JTgnCG644cynyeRkX11hd+p3H9ODvz1iCc942z9PnlSQJ3/zQCvR3NXMjtlpH7O6ymvkQyy67h6fx6bufBwB8yOJOnmVHMrliqaJWgw+g6HS6ee+YpeBj56EpfPru5yHLwN+8vZ+XbWoZCj5alNY6ynwQhDd0NMdxzfuPDfowbJOKR3Ht+f4cd3Mihi+8d5n5A2sEO5qPHlXwMZ3J4ZP/tREj01kcf1gH/vXC4yy9pliyikUknGZx8nQY4TNeTIKPyXQOn/yv5zA+m8OJizrx1QveVo3D8x3fVtubb74Zhx9+OFKpFE499VQ888wzfr2UKyjzQRAEYR8nmo9Dk2nIsozP/+IlvLZ/HHNbE/jB31mfp5SIKaLUExd1+j6vyE+seH0UCjL+6d5NeGNgEr1tSXz/b1fVTWOEL6vtz3/+c6xbtw5f/vKX8fzzz2PlypVYs2YNBgcH/Xg5V3STzwdBEIRtRJ8PM+t+pvkYmszg1ie243cv7UcsIuGWj66ypQsSMx/vWFp7XS4ibMDc9oOTKGjYzgPAf/xxGx5+ZQCJaATf/7tVNWXYZ4Yvq+13vvMdfOITn8DHP/5xHHvssfj+97+P5uZm/PjHP/bj5VxB3S4EQRD2ScWUaclmmYvuUoY5V5DxzYe2AAC+/L/ehlOW2LP8Fzti1GZ2tcairmYkohHMZgvYOzpT8fNHXh3Adx55AwBw3QVvw0mLamNqr1U8z1llMhls3LgRV199Nf9eJBLB2WefjfXr13v9cq5pSUSRiEWQyRXqJp1FEAThN0xwqjdQTiQRi6A9FcN4aY7W37y9H3/rQIzMul3akjGs7LM/EyVMxKIRHD63GW8MTOK/N+/H8cKMl4nZHD5334sAgL87bTH+pg66W9R4HnwcOnQI+Xwe8+aVq8XnzZuH119/veLx6XQa6bSigB4fH/f6kAyRJAlzWxLYNzZLZReCIAiLNJeCDzN3U0ZPWxLjszmcVBJNSpJ9szWWnT7tyO66sKk/qrcNbwxM4obfV66NAHDKki7fBNBBE7ha5/rrr8dXv/rVQI/hH9+1FH/ZegjH13gkTRAEUS3esXQu3nVMDz58cr+lx3/qzCPxyKsD+NqFxznOMr/v+AV4YdcoPnXmEY5+P2x8bPVi7BmZxmy20uV0ydwWfO0Dx3nitBtGJFmWtZUuDslkMmhubsYvfvELXHjhhfz7l156KUZHR/Gb3/ym7PFamY/+/n6MjY2hvb3dy0MjCIIgCMInxsfH0dHRYWn99jykSiQSWLVqFR577DH+vUKhgMceewyrV6+ueHwymUR7e3vZP4IgCIIg6hdfyi7r1q3DpZdeipNPPhmnnHIKbrzxRkxNTeHjH/+4Hy9HEARBEEQN4Uvw8ZGPfAQHDx7EtddeiwMHDuCEE07AQw89VCFCJQiCIAii8fBc8+EWOzUjgiAIgiDCQaCaD4IgCIIgCCMo+CAIgiAIoqpQ8EEQBEEQRFWh4IMgCIIgiKpCwQdBEARBEFWFgg+CIAiCIKoKBR8EQRAEQVQVCj4IgiAIgqgqFHwQBEEQBFFVKPggCIIgCKKq+DLbxQ3M7X18fDzgIyEIgiAIwips3bYytSV0wcfExAQAoL+/P+AjIQiCIAjCLhMTE+jo6DB8TOgGyxUKBezbtw9tbW2QJKnsZ29/+9vx7LPPunp+L57Di+cZHx9Hf38/du/e7WqAXljejxfP4dU58eJYwvIcdE60CdPnJyyfQTonlYTpnHj1PGE5J1rHIssyJiYmsHDhQkQixqqO0GU+IpEI+vr6NH8WjUZdnywvnsPL52lvb3f1PGF6P2E5J14dS1ieA6BzokcYPj9h+gwCdE60CMM58ep5wnJO9I7FLOPBqCnB6dq1a0PxHF4+j1vC9H7Cck6A8LwfOif+PIdXhOn9hOW80DmpJEzvJyznBHB3LKEruzQK4+Pj6OjowNjYmGe7wFqHzkkldE60ofNSCZ2TSuicVBKWc1JTmY96IplM4stf/jKSyWTQhxIa6JxUQudEGzovldA5qYTOSSVhOSeU+SAIgiAIoqpQ5oMgCIIgiKpCwQdBEARBEFWFgg+CIAiCIKoKBR8u+NOf/oTzzz8fCxcuhCRJ+PWvf13284GBAVx22WVYuHAhmpub8d73vhdbt24te8w//MM/4Mgjj0RTUxN6enpwwQUX4PXXX9d8vaGhIfT19UGSJIyOjvr0rtxRrXMiSVLFv5/97Gd+vz1HVPM6ufPOO7FixQqkUin09vaGqi1PTTXOy5133ql5rUiShMHBwWq8TVtU61p59tln8e53vxudnZ2YM2cO1qxZgxdffNHvt+eIap2Txx57DKeffjra2towf/58fOELX0Aul/P77TnCi3PCkGUZ5557rubz7Nq1C+eddx6am5vR29uLf/7nf/bsnFDw4YKpqSmsXLkSN998c8XPZFnGhRdeiB07duA3v/kNXnjhBSxevBhnn302pqam+ONWrVqFO+64A6+99hoefvhhyLKMc845B/l8vuI5L7/8cqxYscLX9+SWap6TO+64A/v37+f/LrzwQr/fniOqdU6+853v4F/+5V/wxS9+Ea+88goeffRRrFmzpirv0QnVOC8f+chHyq6R/fv3Y82aNTjzzDPR29tbtfdqlWqck8nJSbz3ve/FokWLsGHDBjz55JNoa2vDmjVrkM1mq/ZerVKNc/Liiy/ife97H9773vfihRdewM9//nM88MAD+OIXv1i192kHL84J48Ybb6xwEweAfD6P8847D5lMBk899RT+8z//E3feeSeuvfZab96ETHgCAPn+++/nX2/ZskUGIL/88sv8e/l8Xu7p6ZFvu+023ed58cUXZQDytm3byr5/yy23yGeeeab82GOPyQDkkZERr9+C5/h5TtTPXSv4dU6Gh4flpqYm+dFHH/Xt2P3E788PY3BwUI7H4/JPfvITz47dL/w6J88++6wMQN61axd/zEsvvSQDkLdu3er9G/EQv87J1VdfLZ988sllj3nggQfkVColj4+Pe/smPMbNOXnhhRfkww47TN6/f3/F8zz44INyJBKRDxw4wL936623yu3t7XI6nXZ93JT58Il0Og0ASKVS/HuRSATJZBJPPvmk5u9MTU3hjjvuwJIlS8oG67366qu47rrr8JOf/MTULz/MeHlOgKK73ty5c3HKKafgxz/+saVJimHDq3PyyCOPoFAoYO/evVi+fDn6+vrw4Q9/GLt37/b/TfiA19cK4yc/+Qmam5vxoQ99yPuD9hmvzskxxxyD7u5u3H777chkMpiZmcHtt9+O5cuX4/DDD/f9fXiJV+cknU6XPQcANDU1YXZ2Fhs3bvTp6P3B6jmZnp7GJZdcgptvvhnz58+veJ7169fj+OOPx7x58/j31qxZg/Hxcbzyyiuuj7N2V7KQs2zZMixatAhXX301RkZGkMlk8G//9m/Ys2cP9u/fX/bYW265Ba2trWhtbcXvf/97PPLII0gkEgCKF9LFF1+Mb33rW1i0aFEQb8UzvDonAHDdddfh3nvvxSOPPIKLLroIV1xxBf7f//t/1X5LrvHqnOzYsQOFQgHf+MY3cOONN+IXv/gFhoeH8Z73vAeZTCaIt+YKL68Vkdtvvx2XXHIJmpqaqvE2PMWrc9LW1obHH38cP/3pT9HU1ITW1lY89NBD+P3vf49YLHTjvgzx6pysWbMGTz31FO655x7k83ns3bsX1113HQBUPE/YsXpOPvvZz+L000/HBRdcoPk8Bw4cKAs8APCvDxw44Po4KfjwiXg8jl/96ld444030NXVhebmZvzxj3/EueeeW5G9+OhHP4oXXngBTzzxBI4++mh8+MMfxuzsLADg6quvxvLly/G3f/u3QbwNT/HqnADAl770JZxxxhk48cQT8YUvfAGf//zn8a1vfavab8k1Xp2TQqGAbDaL733ve1izZg1OO+003HPPPdi6dSv++Mc/BvHWXOHltcJYv349XnvtNVx++eXVehue4tU5mZmZweWXX44zzjgDTz/9NP7yl7/guOOOw3nnnYeZmZkg3ppjvDon55xzDr71rW/hU5/6FJLJJI4++mi8733vA4CayzZbOScPPPAA/vCHP+DGG28M7kBdF24IWZaNNQijo6Py4OCgLMuyfMopp8hXXHGF7vOk02m5ublZvvvuu2VZluWVK1fKkUhEjkajcjQalSORiAxAjkaj8rXXXuv5+/ASv86JFr/73e9kAPLs7KyrY/Ybv87Jj3/8YxmAvHv37rLH9fb2yj/84Q+9OXgfqca18vd///fyCSec4MnxVgO/zsmPfvQjube3V87n8xWPueeee7x7Az7g93VSKBTkvXv3ytPT0/Krr74qA5CfeeYZz47fD5yck6uuukqWJImvK9FoVAYgRyIR+cwzz5RlWZa/9KUvyStXrix7vh07dsgA5Oeff971cddWSFejdHR0oKenB1u3bsVzzz2nm+YCikplWZZ53e6Xv/wlXnzxRWzatAmbNm3Cj370IwDAn//851C3UZrh5pxosWnTJsyZMyfweQVucHNOzjjjDADAli1b+GOGh4dx6NAhLF682N8D9xkvrpXJyUnce++9NZv1UOPmnExPTyMSiZR1OLCvC4WC78fuF15cJ5IkYeHChWhqasI999yD/v5+nHTSSX4fum/onZMvfvGLeOmll/i6smnTJgDAd7/7Xdxxxx0AgNWrV2Pz5s1lLemPPPII2tvbceyxx7o+ttoq8IWMyclJbNu2jX/95ptvYtOmTejq6sKiRYtw3333oaenB4sWLcLmzZtx1VVX4cILL8Q555wDoFin//nPf45zzjkHPT092LNnD2644QY0NTXxlN+RRx5Z9pqHDh0CACxfvhydnZ3VeaM2qMY5+e1vf4uBgQGcdtppSKVSeOSRR/CNb3wDn/vc5wJ5z2ZU45wcffTRuOCCC3DVVVfhhz/8Idrb23H11Vdj2bJleNe73hXI+zajGueF8fOf/xy5XC705ctqnJP3vOc9+Od//mesXbsWV155JQqFAm644QbEYrFQXivVuk6+9a1v4b3vfS8ikQh+9atf4YYbbsC9996LaDRa9fdshttzMn/+fE2R6aJFi7BkyRIAxVLUsccei7/7u7/DN7/5TRw4cADXXHMN1q5d680mz3XupIH54x//KAOo+HfppZfKsizLN910k9zX1yfH43F50aJF8jXXXFPWorR371753HPPlXt7e+V4PC739fXJl1xyifz666+bvmZYW22rcU5+//vfyyeccILc2toqt7S0yCtXrpS///3vl6WRw0S1rpOxsTH57//+7+XOzk65q6tL/sAHPlDWThk2qvn5Wb16tXzJJZdU6605plrn5H/+53/kM844Q+7o6JDnzJkjn3XWWfL69eur+VYtU61z8q53vUvu6OiQU6mUfOqpp8oPPvhgNd+mLdyeEy2gUb7ZuXOnfO6558pNTU3y3Llz5X/6p3+Ss9msJ++BptoSBEEQBFFVSPNBEARBEERVoeCDIAiCIIiqQsEHQRAEQRBVhYIPgiAIgiCqCgUfBEEQBEFUFQo+CIIgCIKoKhR8EARBEARRVSj4IAiCIAiiqlDwQRCEr1x22WW48MILgz6MCnbu3AlJkvhcC4IgqgcFHwRBhIqggoLHH38ckiRhdHS0qq9LEI0IBR8EQRAEQVQVCj4Ios546KGH8I53vAOdnZ3o7u7G+9//fmzfvp3/fM+ePbj44ovR1dWFlpYWnHzyydiwYQP/+Q033IB58+ahra0Nl19+Ob74xS/ihBNOsPTa+Xwe69at46/9+c9/HurxUWbHx6ZqnnjiiZAkCe985zv5z370ox9h+fLlSKVSWLZsGW655RbL5+WZZ57BiSeeiFQqhZNPPhkvvPAC/9nOnTv5RNc5c+ZAkiRcdtlllp+bIAh7UPBBEHXG1NQU1q1bh+eeew6PPfYYIpEIPvCBD6BQKGBychJnnnkm9u7diwceeAAvvvgiPv/5z6NQKAAA7r33XnzlK1/BN77xDTz33HNYsGCBrQX+29/+Nu688078+Mc/xpNPPonh4WHcf//9lo8PKAYJAPDoo49i//79+NWvfgUAuOuuu3Dttdfi61//Ol577TV84xvfwJe+9CX853/+p+lxTU5O4v3vfz+OPfZYbNy4EV/5ylfwuc99jv+8v78fv/zlLwEAW7Zswf79+3HTTTdZft8EQdjEk9m4BEGEloMHD8oA5M2bN8s/+MEP5La2NnloaEjzsatXr5avuOKKsu+deuqp8sqVKy291oIFC+RvfvOb/OtsNiv39fXJF1xwgaXjk2VZfvPNN2UA8gsvvFD2uCOPPFK+++67y773r//6r/Lq1atNj+sHP/iB3N3dLc/MzPDv3XrrrWWvw8aUj4yMmD4fQRDuoMwHQdQZW7duxcUXX4wjjjgC7e3tOPzwwwEAu3btwqZNm3DiiSeiq6tL83dfe+01nHrqqWXfW716taXXHRsbw/79+8t+PxaL4eSTT7Z8fHpMTU1h+/btuPzyy9Ha2sr/fe1rXysr2ejx2muvYcWKFUilUrbfF0EQ3hML+gAIgvCW888/H4sXL8Ztt92GhQsXolAo4LjjjkMmk0FTU1PQh2d4fHpMTk4CAG677baK4Cgajfp6vARBeA9lPgiijhgaGsKWLVtwzTXX4N3vfjeWL1+OkZER/vMVK1Zg06ZNGB4e1vz95cuXl4lPAeDpp5+29NodHR1YsGBB2e/ncjls3LjR8vEBQCKRAFAUrzLmzZuHhQsXYseOHVi6dGnZPyZQNWL58uV46aWXMDs7q/u+tF6XIAh/oOCDIOqIOXPmoLu7Gz/84Q+xbds2/OEPf8C6dev4zy+++GLMnz8fF154If7yl79gx44d+OUvf4n169cDAK666ir8+Mc/xh133IE33ngDX/7yl/HKK69Yfv2rrroKN9xwA37961/j9ddfxxVXXFHmm2F2fADQ29uLpqYmPPTQQxgYGMDY2BgA4Ktf/Squv/56fO9738Mbb7yBzZs344477sB3vvMd0+O65JJLIEkSPvGJT+DVV1/Fgw8+iH//938ve8zixYshSRJ+97vf4eDBgzzbQhCEDwQtOiEIwlseeeQRefny5XIymZRXrFghP/744zIA+f7775dlWZZ37twpX3TRRXJ7e7vc3Nwsn3zyyfKGDRv473/961+X586dK7e2tsqXXnqp/PnPf96y4DSbzcpXXXWV3N7eLnd2dsrr1q2TP/axj5UJTs2OT5Zl+bbbbpP7+/vlSCQin3nmmfz7d911l3zCCSfIiURCnjNnjvzXf/3X8q9+9StLx7Z+/Xp55cqVciKRkE844QT5l7/8ZYWw9brrrpPnz58vS5IkX3rppZaelyAI+0iyrGrCJwiCEPjKV76CX//612RDThCEZ1DZhSAIgiCIqkLBB0EQlhHbXNX//vznPwd2XN/4xjd0j+vcc88N7LgIgtCGyi4EQVhm27Ztuj877LDDAmvlHR4e1u3gaWpqwmGHHVblIyIIwggKPgiCIAiCqCpUdiEIgiAIoqpQ8EEQBEEQRFWh4IMgCIIgiKpCwQdBEARBEFWFgg+CIAiCIKoKBR8EQRAEQVQVCj4IgiAIgqgqFHwQBEEQBFFV/n+KIibvwdOrDQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "acq_weekly_count.plot.line(y='total', x='acq_date_dt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "IRZ7E7-Ax2XB",
    "outputId": "2b044561-169d-43cf-d4a6-2877ad380809"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    87.000000\n",
       "mean     12.091954\n",
       "std       9.931899\n",
       "min       0.000000\n",
       "25%       3.000000\n",
       "50%      10.000000\n",
       "75%      17.000000\n",
       "max      47.000000\n",
       "Name: total, dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "acq_weekly_count.total.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qkNGjUYVx694"
   },
   "source": [
    "On average, Beach acquired 12 books per month. Theare are some months with zero acquisitions; others with as many as 47."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 237
    },
    "id": "nJi9Uklex59h",
    "outputId": "24565608-179e-4b36-9ad1-30cf7b8ad8f6"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>acq_date_dt</th>\n",
       "      <th>total</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1933-08-31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>1938-06-30</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>1938-08-31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>1938-11-30</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>1939-08-31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>1939-09-30</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   acq_date_dt  total\n",
       "5   1933-08-31      0\n",
       "63  1938-06-30      0\n",
       "65  1938-08-31      0\n",
       "68  1938-11-30      0\n",
       "77  1939-08-31      0\n",
       "78  1939-09-30      0"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# which months had zero purchases?\n",
    "acq_weekly_count[acq_weekly_count.total == 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 363
    },
    "id": "bPiQJNZXyFs8",
    "outputId": "2e5d6ea8-83af-4e37-b917-2f1439555bb3"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>acq_date_dt</th>\n",
       "      <th>total</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>1937-10-31</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>1936-11-30</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>1938-10-31</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>1937-03-31</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>1937-02-28</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   acq_date_dt  total\n",
       "55  1937-10-31     47\n",
       "44  1936-11-30     41\n",
       "67  1938-10-31     38\n",
       "48  1937-03-31     35\n",
       "47  1937-02-28     31"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# which months had the most purchases?\n",
    "acq_weekly_count.sort_values('total', ascending=False).head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### How does the acquisition data compare to the book data?\n",
    "\n",
    "Titles in the catalog without an item uri could not be linked to existing book data, thus are previously unknown titles."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "6wGPrqOOycFH",
    "outputId": "63c7cc42-de73-487f-9259-818f4fadc161"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Catalog covers 1933-03-01 to 1940-05-01\n",
      "1,055 total books in the catalog\n",
      "106 books in the catalog not in Project book data\n",
      "10.05% percent of books previously unknown\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# what dates does the catalog cover?\n",
    "catalog_start_date = catalog_df.acq_date_dt.min()\n",
    "catalog_end_date = catalog_df.acq_date_dt.max()\n",
    "\n",
    "# how does the catalog compare to the library overall? \n",
    "catalog_total_books = catalog_df.shape[0]\n",
    "catalog_total_books\n",
    "\n",
    "# books without item uris were previously unknown\n",
    "unknown_books = catalog_df[catalog_df.item_id.isna()]\n",
    "total_unknown_books = unknown_books.shape[0]\n",
    "\n",
    "# what percent of these books were previously unknown?\n",
    "percent_unknown = total_unknown_books / catalog_total_books * 100\n",
    "\n",
    "\n",
    "print(f\"\"\"Catalog covers {catalog_start_date.date()} to {catalog_end_date.date()}\n",
    "{catalog_total_books:,} total books in the catalog\n",
    "{total_unknown_books:,} books in the catalog not in Project book data\n",
    "{percent_unknown:.2f}% percent of books previously unknown\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Analyze borrowing activity for the dates covered by the catalog"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "Jx92eJFEuykG",
    "outputId": "20dc5d66-94e7-4a9d-fa20-e228f7deb29c"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# filter borrowing activity to this time period and check the books\n",
    "\n",
    "# parse start date so we can compare\n",
    "borrows['start_date_dt'] = pd.to_datetime(borrows['start_date'], errors='coerce')\n",
    "\n",
    "# get all borrows after 1933-03-01 and before 1940-05-01\n",
    "catalog_dates_borrows = borrows[borrows.start_date_dt >= catalog_start_date][borrows.start_date_dt <= catalog_end_date]\n",
    "\n",
    "# how many unique books in this time?\n",
    "len(catalog_dates_borrows.item_id.unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 424
    },
    "id": "WsJ-qcM_3ZRt",
    "outputId": "45d1cb71-bb8e-454c-8ced-ca26263c2740"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>author</th>\n",
       "      <th>title</th>\n",
       "      <th>pub_date</th>\n",
       "      <th>item_uri</th>\n",
       "      <th>acq_date</th>\n",
       "      <th>item_id</th>\n",
       "      <th>acq_date_dt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Morley, Christopher</td>\n",
       "      <td>Being Human: A Story</td>\n",
       "      <td>1932</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/m...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>morley-human</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Hurst, Fannie</td>\n",
       "      <td>Imitation of Life: A Novel</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/h...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>hurst-imitation-life</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Aldington, Richard</td>\n",
       "      <td>All Men Are Enemies: A Romance</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/a...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>aldington-men-enemies</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Anthony, Katharine</td>\n",
       "      <td>Marie Antoinette</td>\n",
       "      <td>1933</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>None</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Jackson, J. Hampden</td>\n",
       "      <td>Europe sInce the War: A Sketch of Political De...</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/j...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>jackson-europe-since-war</td>\n",
       "      <td>1933-03-01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                author                                              title  \\\n",
       "0  Morley, Christopher                               Being Human: A Story   \n",
       "1        Hurst, Fannie                         Imitation of Life: A Novel   \n",
       "2   Aldington, Richard                     All Men Are Enemies: A Romance   \n",
       "3   Anthony, Katharine                                   Marie Antoinette   \n",
       "4  Jackson, J. Hampden  Europe sInce the War: A Sketch of Political De...   \n",
       "\n",
       "  pub_date                                           item_uri acq_date  \\\n",
       "0     1932  https://shakespeareandco.princeton.edu/books/m...  1933-03   \n",
       "1     1933  https://shakespeareandco.princeton.edu/books/h...  1933-03   \n",
       "2     1933  https://shakespeareandco.princeton.edu/books/a...  1933-03   \n",
       "3     1933                                                NaN  1933-03   \n",
       "4     1933  https://shakespeareandco.princeton.edu/books/j...  1933-03   \n",
       "\n",
       "                    item_id acq_date_dt  \n",
       "0              morley-human  1933-03-01  \n",
       "1      hurst-imitation-life  1933-03-01  \n",
       "2     aldington-men-enemies  1933-03-01  \n",
       "3                      None  1933-03-01  \n",
       "4  jackson-europe-since-war  1933-03-01  "
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# are any of the books with ids not in this borrow data?\n",
    "catalog_df[~catalog_df.item_id.isin(catalog_dates_borrows.item_id.unique())].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "1ZNTE1uL36W2",
    "outputId": "f81af43e-34c7-414e-f260-c0b227a1b28d"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5149"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# what is the first borrow for each book in the catalog?\n",
    "# create a subset of borrowing activity for catalog books only\n",
    "catalog_borrows = borrows[borrows.item_id.isin(catalog_df.item_id)]\n",
    "catalog_borrows.shape[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 424
    },
    "id": "YJE-HAdr4moX",
    "outputId": "debd82f2-e986-4f31-d8ce-a2c73b835dc7"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_id</th>\n",
       "      <th>start_date</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>a-e-living-torch</td>\n",
       "      <td>1937-11-23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>a-e-song-fountains</td>\n",
       "      <td>1934-01-22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>abbe-around-world-eleven</td>\n",
       "      <td>1937-01-26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>adamic-cradle-life-story</td>\n",
       "      <td>1937-04-14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>adams-march-democracy-history</td>\n",
       "      <td>1933-05-11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         item_id start_date\n",
       "0               a-e-living-torch 1937-11-23\n",
       "1             a-e-song-fountains 1934-01-22\n",
       "2       abbe-around-world-eleven 1937-01-26\n",
       "3       adamic-cradle-life-story 1937-04-14\n",
       "4  adams-march-democracy-history 1933-05-11"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# get the first borrow for each catalog book\n",
    "# - convert start date to string so we can group\n",
    "catalog_borrows['start_date_str'] = catalog_borrows.start_date.apply(lambda x: str(x))\n",
    "catalog_first_borrows = catalog_borrows.groupby('item_id')['start_date_str'].min().reset_index()\n",
    "# convert back to date time\n",
    "catalog_first_borrows['start_date'] = pd.to_datetime(catalog_first_borrows[\"start_date_str\"], format=\"ISO8601\", errors='coerce')\n",
    "# drop string column\n",
    "catalog_first_borrows = catalog_first_borrows[['item_id', 'start_date']]\n",
    "catalog_first_borrows.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 641
    },
    "id": "jFj0T68C4B6e",
    "outputId": "59f7582d-9449-43a9-a3d8-ed5f82f76214"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>author</th>\n",
       "      <th>title</th>\n",
       "      <th>pub_date</th>\n",
       "      <th>item_uri</th>\n",
       "      <th>acq_date</th>\n",
       "      <th>item_id</th>\n",
       "      <th>acq_date_dt</th>\n",
       "      <th>first_borrow</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Morley, Christopher</td>\n",
       "      <td>Being Human: A Story</td>\n",
       "      <td>1932</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/m...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>morley-human</td>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>1934-04-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Hurst, Fannie</td>\n",
       "      <td>Imitation of Life: A Novel</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/h...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>hurst-imitation-life</td>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>1933-09-25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Aldington, Richard</td>\n",
       "      <td>All Men Are Enemies: A Romance</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/a...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>aldington-men-enemies</td>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>1933-04-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Jackson, J. Hampden</td>\n",
       "      <td>Europe sInce the War: A Sketch of Political De...</td>\n",
       "      <td>1933</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/j...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>jackson-europe-since-war</td>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>1933-05-29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Sugimoto, Etsu Inaqaki</td>\n",
       "      <td>A Daughter of the Samurai: How a Daughter of F...</td>\n",
       "      <td>1925</td>\n",
       "      <td>https://shakespeareandco.princeton.edu/books/s...</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>sugimoto-daughter-samurai</td>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>1933-03-07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   author                                              title  \\\n",
       "0     Morley, Christopher                               Being Human: A Story   \n",
       "1           Hurst, Fannie                         Imitation of Life: A Novel   \n",
       "2      Aldington, Richard                     All Men Are Enemies: A Romance   \n",
       "3     Jackson, J. Hampden  Europe sInce the War: A Sketch of Political De...   \n",
       "4  Sugimoto, Etsu Inaqaki  A Daughter of the Samurai: How a Daughter of F...   \n",
       "\n",
       "  pub_date                                           item_uri acq_date  \\\n",
       "0     1932  https://shakespeareandco.princeton.edu/books/m...  1933-03   \n",
       "1     1933  https://shakespeareandco.princeton.edu/books/h...  1933-03   \n",
       "2     1933  https://shakespeareandco.princeton.edu/books/a...  1933-03   \n",
       "3     1933  https://shakespeareandco.princeton.edu/books/j...  1933-03   \n",
       "4     1925  https://shakespeareandco.princeton.edu/books/s...  1933-03   \n",
       "\n",
       "                     item_id acq_date_dt first_borrow  \n",
       "0               morley-human  1933-03-01   1934-04-01  \n",
       "1       hurst-imitation-life  1933-03-01   1933-09-25  \n",
       "2      aldington-men-enemies  1933-03-01   1933-04-01  \n",
       "3   jackson-europe-since-war  1933-03-01   1933-05-29  \n",
       "4  sugimoto-daughter-samurai  1933-03-01   1933-03-07  "
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# merge catalog information with catalog first borrows\n",
    "catalog_borrowing = pd.merge(catalog_df, catalog_first_borrows.rename(columns={'start_date': 'first_borrow'}))\n",
    "catalog_borrowing.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 112
    },
    "id": "_6yKDqtR5NBo",
    "outputId": "c532611e-b11c-4c61-8519-b01272cc4cb2"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>author</th>\n",
       "      <th>title</th>\n",
       "      <th>pub_date</th>\n",
       "      <th>acq_date</th>\n",
       "      <th>first_borrow</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Sitwell, Satcheverell</td>\n",
       "      <td>Mozart</td>\n",
       "      <td>1932</td>\n",
       "      <td>1933-03</td>\n",
       "      <td>1932-05-28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Bennett, Arnold</td>\n",
       "      <td>The Journals of Arnold Bennett, Vol. 3. (1921-...</td>\n",
       "      <td>1932</td>\n",
       "      <td>1933-05</td>\n",
       "      <td>1932-07-20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>Oppenheim, E. Phillips</td>\n",
       "      <td>Murder at Monte Carlo</td>\n",
       "      <td>1933</td>\n",
       "      <td>1933-06</td>\n",
       "      <td>1933-02-19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>Terry, Ellen</td>\n",
       "      <td>Ellen Terry's Memoirs</td>\n",
       "      <td>1932</td>\n",
       "      <td>1933-06</td>\n",
       "      <td>1933-02-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>Asquith, Margot</td>\n",
       "      <td>More Memories</td>\n",
       "      <td>1933</td>\n",
       "      <td>1933-09</td>\n",
       "      <td>1933-02-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>Stein, Gertrude</td>\n",
       "      <td>The Autobiography of Alice B. Toklas</td>\n",
       "      <td>1933</td>\n",
       "      <td>1933-09</td>\n",
       "      <td>1933-01-15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>Macdonell, A.G.</td>\n",
       "      <td>The Shapkespeare Murders</td>\n",
       "      <td>1933</td>\n",
       "      <td>1933-10</td>\n",
       "      <td>1933-02-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>91</th>\n",
       "      <td>Mantz, Ruth Elvish and John Middleton Murry</td>\n",
       "      <td>The Life of Katherine Mansfield</td>\n",
       "      <td>1933</td>\n",
       "      <td>1933-10</td>\n",
       "      <td>1933-01-30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>104</th>\n",
       "      <td>Whitehead, Alfred North</td>\n",
       "      <td>Adventures of Ideas</td>\n",
       "      <td>1933</td>\n",
       "      <td>1933-11</td>\n",
       "      <td>1933-01-22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>Patrick, Q</td>\n",
       "      <td>S. S. Murder</td>\n",
       "      <td>1933</td>\n",
       "      <td>1933-12</td>\n",
       "      <td>1933-02-14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>Nijinsky, Romola de Pulszky</td>\n",
       "      <td>Nijinsky</td>\n",
       "      <td>1934</td>\n",
       "      <td>1934-01</td>\n",
       "      <td>1933-02-10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>783</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Samuel Taylor Coleridge</td>\n",
       "      <td>?</td>\n",
       "      <td>1938-10</td>\n",
       "      <td>1922-01-25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>902</th>\n",
       "      <td>Gorman, Herbert Sherman</td>\n",
       "      <td>James Joyce: His First Forty Years</td>\n",
       "      <td>1924</td>\n",
       "      <td>1940-4</td>\n",
       "      <td>1924-04-05</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                          author  \\\n",
       "8                          Sitwell, Satcheverell   \n",
       "32                               Bennett, Arnold   \n",
       "44                        Oppenheim, E. Phillips   \n",
       "45                                 Terry, Ellen    \n",
       "67                               Asquith, Margot   \n",
       "78                               Stein, Gertrude   \n",
       "83                               Macdonell, A.G.   \n",
       "91   Mantz, Ruth Elvish and John Middleton Murry   \n",
       "104                      Whitehead, Alfred North   \n",
       "125                                   Patrick, Q   \n",
       "134                  Nijinsky, Romola de Pulszky   \n",
       "783                                          NaN   \n",
       "902                      Gorman, Herbert Sherman   \n",
       "\n",
       "                                                 title pub_date acq_date  \\\n",
       "8                                               Mozart     1932  1933-03   \n",
       "32   The Journals of Arnold Bennett, Vol. 3. (1921-...     1932  1933-05   \n",
       "44                               Murder at Monte Carlo     1933  1933-06   \n",
       "45                               Ellen Terry's Memoirs     1932  1933-06   \n",
       "67                                       More Memories     1933  1933-09   \n",
       "78                The Autobiography of Alice B. Toklas     1933  1933-09   \n",
       "83                            The Shapkespeare Murders     1933  1933-10   \n",
       "91                     The Life of Katherine Mansfield     1933  1933-10   \n",
       "104                                Adventures of Ideas     1933  1933-11   \n",
       "125                                       S. S. Murder     1933  1933-12   \n",
       "134                                           Nijinsky     1934  1934-01   \n",
       "783                            Samuel Taylor Coleridge        ?  1938-10   \n",
       "902                 James Joyce: His First Forty Years     1924   1940-4   \n",
       "\n",
       "    first_borrow  \n",
       "8     1932-05-28  \n",
       "32    1932-07-20  \n",
       "44    1933-02-19  \n",
       "45    1933-02-05  \n",
       "67    1933-02-05  \n",
       "78    1933-01-15  \n",
       "83    1933-02-05  \n",
       "91    1933-01-30  \n",
       "104   1933-01-22  \n",
       "125   1933-02-14  \n",
       "134   1933-02-10  \n",
       "783   1922-01-25  \n",
       "902   1924-04-05  "
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# which titles were borrowed before this catalog?\n",
    "catalog_borrowing[catalog_borrowing.first_borrow < catalog_start_date][['author', 'title', 'pub_date', 'acq_date', 'first_borrow']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "id": "1LMtyIPP5W-D",
    "outputId": "d4b9bff1-124a-4c53-cf92-22dff5139310"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>start_date</th>\n",
       "      <th>end_date</th>\n",
       "      <th>member_names</th>\n",
       "      <th>item_title</th>\n",
       "      <th>year</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1922</td>\n",
       "      <td>1922-08-23</td>\n",
       "      <td>Mr. Rhys</td>\n",
       "      <td>Typhoon</td>\n",
       "      <td>1922.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1923</td>\n",
       "      <td>1923-11-07</td>\n",
       "      <td>Eyre de Lanux / Mrs. Pierre de Lanux</td>\n",
       "      <td>Night and Day</td>\n",
       "      <td>1923.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>1924</td>\n",
       "      <td>1924-10-22</td>\n",
       "      <td>Simone Téry</td>\n",
       "      <td>James Joyce</td>\n",
       "      <td>1924.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>1924</td>\n",
       "      <td>1924-10-22</td>\n",
       "      <td>Simone Téry</td>\n",
       "      <td>A Portrait of George Moore in a Study of His Work</td>\n",
       "      <td>1924.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>1926</td>\n",
       "      <td>1926-01-14</td>\n",
       "      <td>Ada (Hitchcock) MacLeish;Archibald MacLeish</td>\n",
       "      <td>Tents of Israel</td>\n",
       "      <td>1926.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   start_date    end_date                                 member_names  \\\n",
       "2        1922  1922-08-23                                     Mr. Rhys   \n",
       "8        1923  1923-11-07         Eyre de Lanux / Mrs. Pierre de Lanux   \n",
       "12       1924  1924-10-22                                  Simone Téry   \n",
       "13       1924  1924-10-22                                  Simone Téry   \n",
       "22       1926  1926-01-14  Ada (Hitchcock) MacLeish;Archibald MacLeish   \n",
       "\n",
       "                                           item_title    year  \n",
       "2                                             Typhoon  1922.0  \n",
       "8                                       Night and Day  1923.0  \n",
       "12                                        James Joyce  1924.0  \n",
       "13  A Portrait of George Moore in a Study of His Work  1924.0  \n",
       "22                                    Tents of Israel  1926.0  "
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# to estimate properly, really need to know % of borrowing activity for early period / late period and compare ...\n",
    "\n",
    "# filter to all borrowing during this time period\n",
    "borrows['year'] = borrows.start_date_dt.apply(lambda x: x.year if pd.notna(x) else None)\n",
    "borrows[['start_date', 'end_date', 'member_names', 'item_title', 'year']].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 206
    },
    "id": "vQz01gk6Uvg5",
    "outputId": "9c68e6d6-f925-4786-8796-79b63910a655"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>start_date</th>\n",
       "      <th>end_date</th>\n",
       "      <th>date</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1922</td>\n",
       "      <td>1922-08-23</td>\n",
       "      <td>1922-08-23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1923</td>\n",
       "      <td>1923-11-07</td>\n",
       "      <td>1923-11-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>1924</td>\n",
       "      <td>1924-10-22</td>\n",
       "      <td>1924-10-22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>1924</td>\n",
       "      <td>1924-10-22</td>\n",
       "      <td>1924-10-22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>1926</td>\n",
       "      <td>1926-01-14</td>\n",
       "      <td>1926-01-14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   start_date    end_date        date\n",
       "2        1922  1922-08-23  1922-08-23\n",
       "8        1923  1923-11-07  1923-11-07\n",
       "12       1924  1924-10-22  1924-10-22\n",
       "13       1924  1924-10-22  1924-10-22\n",
       "22       1926  1926-01-14  1926-01-14"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_best_date(row):\n",
    "  # dates are strings; return the longest\n",
    "  start_date_len = len(row.start_date) if pd.notna(row.start_date) else 0\n",
    "  end_date_len = len(row.end_date) if pd.notna(row.end_date) else 0\n",
    "\n",
    "  if start_date_len > end_date_len:\n",
    "    return row.start_date\n",
    "  else:\n",
    "    return row.end_date\n",
    "\n",
    "# get either start or end date, whichever we find first\n",
    "\n",
    "all_borrows = borrows.copy()\n",
    "all_borrows['date'] = all_borrows.apply(get_best_date, axis=1)\n",
    "all_borrows[['start_date', 'end_date', 'date']].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "id": "jP6QxLX8VUu0"
   },
   "outputs": [],
   "source": [
    "all_borrows['date_dt'] = pd.to_datetime(all_borrows.date, errors='coerce')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "V5rn1qW6UT0r",
    "outputId": "ec585c66-4af7-43a5-a08a-65ffe8cb6023"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10747"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "catalog_dates_borrows = all_borrows[all_borrows.date_dt >= catalog_start_date][all_borrows.date_dt <= catalog_end_date]\n",
    "catalog_dates_borrows.shape[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 513
    },
    "id": "_M33jh3DVoxe",
    "outputId": "0d8274f9-55d1-4445-f2e5-c5ac0ecc25af"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>member_names</th>\n",
       "      <th>item_title</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13662</th>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>Donald Culver</td>\n",
       "      <td>The Adventures of Tom Sawyer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13659</th>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>Aline Prot</td>\n",
       "      <td>The Gods Arrive</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13646</th>\n",
       "      <td>1933-03-01</td>\n",
       "      <td>Donald Culver</td>\n",
       "      <td>Conquistador</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13671</th>\n",
       "      <td>1933-03-03</td>\n",
       "      <td>Countess de Vogué</td>\n",
       "      <td>Invitation to the Waltz</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13665</th>\n",
       "      <td>1933-03-03</td>\n",
       "      <td>Thérèse Tony-Mayer</td>\n",
       "      <td>Light in August</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             date        member_names                    item_title\n",
       "13662  1933-03-01       Donald Culver  The Adventures of Tom Sawyer\n",
       "13659  1933-03-01          Aline Prot               The Gods Arrive\n",
       "13646  1933-03-01       Donald Culver                  Conquistador\n",
       "13671  1933-03-03   Countess de Vogué       Invitation to the Waltz\n",
       "13665  1933-03-03  Thérèse Tony-Mayer               Light in August"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "catalog_dates_borrows.sort_values('date_dt')[['date', 'member_names', 'item_title']].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "auRyHTFyU1TZ",
    "outputId": "cbfe3ede-1b65-46e3-9d37-473c4dc74dc7"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Borrowing activity for dates covered by the catalog:\n",
      "10,747 total borrows\n",
      "3,362 unique titles\n",
      "307 borrows for uncertain titles\n",
      "190 unique uncertain titles\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# how many total borrow events for these dates?\n",
    "\n",
    "catalog_dates_total_borrows = catalog_dates_borrows.shape[0]\n",
    "catalog_dates_total_items = len(catalog_dates_borrows.item_id.unique())\n",
    "\n",
    "# how many events with uncertain titles?\n",
    "uncertain_catalog_dates_borrows = catalog_dates_borrows[catalog_dates_borrows.item_id.isin(uncertain_books_df.id)]\n",
    "\n",
    "print(f\"\"\"Borrowing activity for dates covered by the catalog:\n",
    "{catalog_dates_total_borrows:,} total borrows\n",
    "{catalog_dates_total_items:,} unique titles\n",
    "{uncertain_catalog_dates_borrows.shape[0]:,} borrows for uncertain titles\n",
    "{len(uncertain_catalog_dates_borrows.item_id.unique()):,} unique uncertain titles\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "C0JoG3mrWMy3",
    "outputId": "9bc38633-e946-4a90-dcfc-fea19adabc49"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Borrowing activity for dates covered by the catalog:\n",
      "10,440 total borrows for identified titles\n",
      "3,172 unique identified titles\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# there are enough uncertain titles that we should filter them out\n",
    "certain_catalog_dates_borrows = catalog_dates_borrows[~catalog_dates_borrows.item_id.isin(uncertain_books_df.id)]\n",
    "certain_catalog_dates_total_borrows = certain_catalog_dates_borrows.shape[0]\n",
    "certain_catalog_dates_total_items = len(certain_catalog_dates_borrows.item_id.unique())\n",
    "\n",
    "print(f\"\"\"Borrowing activity for dates covered by the catalog:\n",
    "{certain_catalog_dates_borrows.shape[0]:,} total borrows for identified titles\n",
    "{len(certain_catalog_dates_borrows.item_id.unique()):,} unique identified titles\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 444
    },
    "id": "YxJYEF_6WXLs",
    "outputId": "0c5ce1d0-4bb8-4d91-98d1-4d17b08d9fcf"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>member_names</th>\n",
       "      <th>item_title</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>1937-06-01</td>\n",
       "      <td>Fernand Colens</td>\n",
       "      <td>The Friendly Tree</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>150</th>\n",
       "      <td>1937-12-08</td>\n",
       "      <td>Fanny Rirachowsky</td>\n",
       "      <td>Poems</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>156</th>\n",
       "      <td>1938-06-23</td>\n",
       "      <td>Thérèse Bertrand-Fontaine</td>\n",
       "      <td>To Wake the Dead</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>168</th>\n",
       "      <td>1938-06-25</td>\n",
       "      <td>Thérèse Bertrand-Fontaine</td>\n",
       "      <td>Enchanter's Nightshade</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>171</th>\n",
       "      <td>1938-05-16</td>\n",
       "      <td>Vincens</td>\n",
       "      <td>The Secret War: The War for Oil</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           date               member_names                       item_title\n",
       "149  1937-06-01             Fernand Colens                The Friendly Tree\n",
       "150  1937-12-08          Fanny Rirachowsky                            Poems\n",
       "156  1938-06-23  Thérèse Bertrand-Fontaine                 To Wake the Dead\n",
       "168  1938-06-25  Thérèse Bertrand-Fontaine           Enchanter's Nightshade\n",
       "171  1938-05-16                    Vincens  The Secret War: The War for Oil"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# what percent of those titles are included in the catalog?\n",
    "# limit to borrow events for items in the catalog\n",
    "certain_catalog_dates_catalog_borrows = certain_catalog_dates_borrows[certain_catalog_dates_borrows.item_id.isin(catalog_df.item_id)]\n",
    "certain_catalog_dates_catalog_borrows[['date', 'member_names', 'item_title']].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "IbFvKaXdWuII",
    "outputId": "b4cef3dc-8319-4244-e7ef-32785f310256"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Borrowing activity for dates covered by the catalog AND titles included in the catalog:\n",
      "4,316 total borrows \n",
      "881 unique identified titles\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# how many events, how many titles? (for identified items)\n",
    "catalog_dates_catalog_total_borrows = certain_catalog_dates_catalog_borrows.shape[0]\n",
    "catalog_dates_catalog_total_items = len(certain_catalog_dates_catalog_borrows.item_id.unique())\n",
    "\n",
    "print(f\"\"\"Borrowing activity for dates covered by the catalog AND titles included in the catalog:\n",
    "{catalog_dates_catalog_total_borrows:,} total borrows \n",
    "{catalog_dates_catalog_total_items:,} unique identified titles\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {
    "id": "JS6tj7gSW4ch"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Borrowing activity for identifed titles during dates covered by the catalog AND titles included in the catalog:\n",
      "4,316 total borrows \n",
      "3,172 unique identified titles\n",
      "41.3% of borrowing activity from catalog titles\n",
      "27.8% of books from catalog titles\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# what percent of the circulation is that?\n",
    "# catalog_dates_total_borrows = catalog_dates_borrows.shape[0]\n",
    "# just work with the certain ones, for simplicity\n",
    "catalog_dates_catalog_total_borrows = certain_catalog_dates_catalog_borrows.shape[0]\n",
    "catalog_dates_catalog_total_items = len(certain_catalog_dates_catalog_borrows.item_id.unique())\n",
    "\n",
    "# catalog books account for what % of borrowing activity during this time?\n",
    "percent_borrowing_activity = catalog_dates_catalog_total_borrows / certain_catalog_dates_total_borrows\n",
    "\n",
    "# what % of books in circulation?\n",
    "percent_books = catalog_dates_catalog_total_items / catalog_dates_total_items\n",
    "\n",
    "print(f\"\"\"Borrowing activity for identifed titles during dates covered by the catalog AND titles included in the catalog:\n",
    "{certain_catalog_dates_catalog_borrows.shape[0]:,} total borrows \n",
    "{catalog_dates_total_items:,} unique identified titles\n",
    "{percent_borrowing_activity*100:.1f}% of borrowing activity from catalog titles\n",
    "{percent_books*100:.1f}% of books from catalog titles\n",
    "\"\"\")"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "authorship_tag": "ABX9TyOhGOFRd8NRLMMfKHUVlJK8",
   "include_colab_link": true,
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
